您好我有這樣的代碼中的字符串獲得最短的一句話: -訪問變量的作用域聲明一次課外
import java.util.Arrays;
public class Kata {
public static int findShort(String s) {
int shortestLocation = null;
String[] words = s.split("");
int shortestLength=(words[0]).length();
for(int i=1;i<words.length;i++){
if ((words[i]).length() < shortestLength) {
shortestLength=(words[i]).length();
shortestLocation=shortestLength;
}
}
int p = shortestLocation;
return p;
}
}
它返回錯誤變量shortestLocation不能被轉換成int: -
java:6: error: incompatible types: <null> cannot be converted to int
int shortestLocation = null;
我的問題是你如何訪問變量的範圍,就像在這種情況下我知道什麼是錯的。變量最短的位置被定義在if語句的範圍之外,因此它只考慮初始化的值。
我該如何使初始值更改爲if語句值。這是一個範圍問題,請幫助我是初學者。
錯誤消息告訴你到底發生了什麼問題。不,這與範圍無關。 –
您不能將null分配給基本類型int。這與範圍 – ronhash
沒有任何關係,我修復它並將值更改爲0,但現在它始終返回0。我的變量值永遠不會更改爲if語句後返回的值。 – enemy123