変数maxrepsが私のmainメソッドのスコープにないことを知っていますので、オブジェクトを作成して呼び出す必要がありましたが、それでもmaxrepsを取得することはできません。 どうすればこの問題を解決できますか?別のメソッドで変数を呼び出すにはどうすればいいですか?
public class LUIS{
public void james(){
int current=1;
int maxreps=1;
String adriana = "aabbddddnsspkrrgg";
for(int a=0; a<adriana.length(); a++){
if(adriana.charAt(a) == adriana.charAt(a+1)){
current++;
if(maxreps>=current){
maxreps=current;
}
}
}
}
public static void main(String[] args){
LUIS fritz = new LUIS();
final int drei = fritz.james;
System.out.println(maxreps);
}
}
宣言 "int型maxreps = 1" は、ジェームズ()メソッドの前にそれを置きます。 – saopayne
しかし、私は、主なメソッドは非静的変数を使用できないというエラーを受け取ります。 – LuisIsLuis
「別のメソッドで変数を呼び出す方法は?」その理由は、そのスコープが宣言されたコードブロック(メソッド)に限定されているためです。すべてのメソッドで使用できる変数が必要な場合は、クラスフィールドにします。しかし、あなたは価値があるのではなく、変わりたいと思っていますか?それが値であれば、あなたのメソッドがそれを返すようにしたいでしょう。 – Pshemo