java变量在方法中改变,关于Java变量在类中的不同方法中不可用:Java变量在类中的不同方法中不可用 – 新手...

我是爪哇人,我到处找,但我没有得到一个简单的概念。

我将两个变量声明为int。我希望这两个变量对所有方法都是全局的。在第一个方法中,我想从用户输入中获取第一个变量的值。然后我希望第二个方法可以使用、识别和调用这个新值。但是,每次第一个方法结束时,变量的值都设置回0,第二个方法找不到用户在第一个方法输入中给它的值。我做错什么了?我需要以不同的方式声明变量吗?我需要以不同的方式声明我的方法吗?谢谢你的帮助!

import acm.program.*;

public class FindRange extends ConsoleProgram {

int num1;

int num2;

public void run() {

println("This program finds the largest and smallest numbers.");

getNum1();

getNum2();

// getNumUntilZero();

}

public void getNum1() {

int num1 = readInt("?:");

if (num1 == 0) { //do not accept 0 for first number

println("Please try again without 0.");

getNum1();

}

}

public void getNum2() {

int num2 = readInt("?:");

if (num2 == 0) { //if 2nd number is 0, print 1st num as high and low nums

println("Biggest number:" + num1);

println("Smallest number:" + num1);

}

}

}

您正在重新定义num1变量和num2变量

你的本地变量重新定义为同样的事情。这应该给个警告沿IDE的"本地变量隐藏线的一场"。在这样的范围的方法有一个numX。

你需要参考的实例变量声明一个新的变量:不

public void getNumX() {

numX = readInt("?:");

//...

}

你看我这样删除的int声明这是我到现在assigns numX值比一个本地变量。

哇,这个网站太不可思议了,我几乎立刻收到了来自多个人的相同回复-谢谢!我现在明白了。

实际上你已经创建了新的内部变量的方法。所以需要分配到类的值是变量,但变量:浸出法这样的变化

int num2 = readInt("?:");

to

num2 = readInt("?:");

int num1 = readInt("?:");

to

num1 = readInt("?:");

哇,这个网站太不可思议了,我几乎立刻收到了来自多个人的相同回复-谢谢!我现在明白了。

当你在做int num1 = readInt("?:");getnum1(法),其本地变量存储在栈。它并不是问题,全局变量(实例变量的感知是指你想)

这样做的样本。

public void getNum1() {

num1 = readInt("?:");

if (num1 == 0) { // do not accept 0 for first number

println("Please try again without 0.");

getNum1();

}

}

public void getNum2() {

num2 = readInt("?:");

if (num2 == 0) { // if 2nd number is 0, print 1st num as high and low nums

println("Biggest number:" + num1);

println("Smallest number:" + num1);

}

}

哇哦,我刚把国际号码去掉了…用我的方法?我想如果我再把int放进去,我会声明变量吗?谢谢!

对.正确的做法是,当再次将int放入其中时,您正在去除局部变量

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值