gpt4 book ai didi

java - 如何从不同的类中增加一个值(在主类中)

转载 作者:行者123 更新时间:2023-11-30 08:44:17 28 4
gpt4 key购买 nike

我想将另一个类的主类中的值加一,但错误一直指向“余额”。

错误发生在我的另一个类“RevenueThread”中,当我说获取类然后变量然后递增 1 时。

完整代码

import java.util.*;
public class Main{

public static void main (String [] args){

boolean running = true;
boolean property1 = false;

Scanner in = new Scanner(System.in);

int Balance = 0;

String option = "";



Load:
while(running){

System.out.println("Choose an option");
if(property1 == true){
Runnable rev = new RevenueThread();
Thread revThread = new Thread(rev);
revThread.start();
}
System.out.println("Option 1: Buy Property");
System.out.println("Option 2: Check balance");
System.out.println();
option = in.next();


switch(option){

case "1":
System.out.println("Do you want to buy a property?: ");
String ans = in.next();
ans = ans.toUpperCase();
if(ans.equals("Y")){
property1 ^= true;
continue Load;
}
else if(ans.equals("N")){
System.out.println("Property not bought come again soon!");
continue Load;
}
else{
System.out.println("Not recognised!");
continue Load;
}
break;

case "2":
System.out.println("Your balance is: " + balance);
continue Load;
break;
default:
}
}
}
public static class RevenueThread implements Runnable {

public void run(){
while(true){


Main.Balance++;

try{
Thread.sleep(1000);
}catch(Exception ex){
System.err.println( ex.getMessage() );
}
}
}


}

最佳答案

让它成为你想从另一个类访问的类变量。(在你的例子中是Balance)

局部变量在声明它们的方法之外是不可见的。

保留这个声明

int Balance = 0;

在 main 方法之前并将其设为静态。之后您将能够像这样访问它

Main.Balance++;

关于java - 如何从不同的类中增加一个值(在主类中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33842774/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com