我知道变量 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);
}
}
最佳答案
正如您所指出的,作用域可以防止看到在不同作用域中定义的变量。您可以通过返回值来解决您的特定问题
public int james(){ // <-- change from void to an int return
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;
}
}
}
return maxreps; // <-- return the value
}
然后在main
方法中将一个变量设置为返回值。
或者,您可以将其定义为类变量,但有理由避免这样做——全局变量通常不好。
关于java - 如何在另一个方法中调用变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44089306/