gpt4 book ai didi

java - 如何在另一个方法中使用一个方法的值?

转载 作者:行者123 更新时间:2023-12-05 08:36:25 24 4
gpt4 key购买 nike

我正在尝试编写一个程序来生成一个随机的 3 位数字并将其反转,因此我编写了两种方法,其中 getRandomNum 生成数字,reverseDigits 反转它。然而,第二种方法不接受第一种方法生成的随机数,因为第一种方法显示一个 3 位数字,而第二种方法在运行代码时显示 0。

我已经尝试查找如何在方法之间共享变量,似乎我需要在方法之外使用静态变量。但 reverseDigits 仍然显示 0。

我是不是遗漏了什么或者还有其他事情要做?

public class MathTrick
{
static int upperBound = 999;
static int lowerBound = 100;

//generate random 3 digit number
static int getRandomNumber = 0;
static int mDifference = 0;

public static void main(String[]args)
{
getRandomNum();
reverseDigits();
}

static void getRandomNum()
{
int upperBound = 999;
int lowerBound = 100;

//generate random 3 digit number
int getRandomNumber = 0;
int mDifference = 0;
while (mDifference <= 1)
{
getRandomNumber = (int)(Math.random()*((upperBound-lowerBound)+1)) + lowerBound + 1;
int x = (int)(getRandomNumber/100);
int y = getRandomNumber%10;
mDifference = Math.abs(x-y);
}
int m = getRandomNumber;

}

static int m = getRandomNumber;
static void reverseDigits()
{
int a = m, reverseDigits = 0;
while (a != 0)
{
int remainder = a % 10;
reverseDigits = reverseDigits * 10 + remainder;
a = a / 10;
}
int n = reverseDigits;
}
}

最佳答案

直接回答你的问题

将此行 int m = getRandomNumber; 替换为 m = getRandomNumber;

基本上,您用局部变量 int m 掩盖了静态变量 m


一些更改,在这里(我的建议)。

更改为返回整数的两种方法 getRandomNum 返回一个新的随机数,而 reverseDigits 方法返回反转数。此外,reverseDigits 获取一个参数 - 一个应该更改的数字。

所以,在改变之后。

public static void main(String[] args) {
int randomNum = getRandomNum();
int reverse = reverseDigits(randomNum);

System.out.println(randomNum);
System.out.println(reverse);
}

static int getRandomNum() {
//
return getRandomNumber;
}

static int reverseDigits(int m) {
//
return reverseDigits;
}

并且您可以删除其他静态字段。

关于java - 如何在另一个方法中使用一个方法的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69251594/

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