gpt4 book ai didi

java - 字符串可以用来存储超过 1 个输入吗

转载 作者:行者123 更新时间:2023-12-01 19:52:37 25 4
gpt4 key购买 nike

为什么String eingabe;可以先用来保存int m,然后再保存int n。我认为字符串一旦声明就只能用于保存另一个方法的信息。或者它是否存储两个值,例如“彼此相邻”,并且当被告知打印到控制台时,它会取出所需的值?

代码:

public static void main(String[] args) {
// TODO Auto-generated method stub

int m, n, r;
String eingabe;
eingabe = JOptionPane.showInputDialog("Geben sie ganze Zahl fuer m ein: ");
m = Integer.parseInt(eingabe);
eingabe = JOptionPane.showInputDialog("Geben Sie eine ganze Zahl für n ein: ");
n = Integer.parseInt(eingabe);
r = m%n;

while (r > 0) {
m = n;
n = r;
r = m % n;
}
System.out.println("ggT = " + n);

}


}

最佳答案

字符串变量 eingabe 不用于存储多个输入。顺着线走

 eingabe = JOptionPane.showInputDialog("Geben sie ganze Zahl fuer m ein: ");

eingabe 是对您将解析为 int m 的任何值的引用。接下来就行了

 eingabe = JOptionPane.showInputDialog("Geben Sie eine ganze Zahl für n ein: ");

该引用将被重新分配以指向您从 showInputDialog 获得的新字符串值。

这里没有什么奇怪的事情发生。 eingabe 引用的值刚刚更改。您可能会对 Java 中字符串的不可变性感到困惑。这是一个不同的概念,因为它意味着 String 实例永远不能更改。但是,这里没有更改任何 String 实例,只是指向不同字符串的引用变量。

总而言之,eingabe 是一个引用,它在代码中的不同点指向内存中的不同字符串。它在任何时候都不会持有对两个字符串的引用。

关于java - 字符串可以用来存储超过 1 个输入吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50795073/

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