如果这是一个非常基本的问题,我很抱歉,但这是我在java的第一周(主要是python背景(。
我想为变量分配一个"something"
值:x
和y
。
在控制台中,我希望能够明确地说出x = some number
和y = some number
,以便我输入数字的顺序无关紧要。
所以它可能是:
x = some number
y = some number
或
y = some number
x = some number
我需要能够在运行代码时为变量赋值。
我将如何实现这一点?
在 Java 中,变量必须有一个声明的类型,并且该变量只允许存储特定类型的值。您可以声明如下变量:
String x;
String y;
然后将值分配给它们:
x = "something";
y = "some other value";
但是,您只能将字符串分配给x
和y
。分配任何其他类型(例如int
(将生成编译器错误。
我想你这样做,只要第一个字符始终是变量名,试试这个。
Scanner scan = new Scanner(System.in);
String in = scan.nextLine();
int x;
int y;
if(in.charAt(0)=='x'){
x = Integer.parseInt(in.substring(5));
in = scan.nextLine();
y = Integer.parseInt(in.substring(5));
else{
y = Integer.parseInt(in.substring(5));
in = Integer.parseInt(scan.nextLine());
x = Integer.parseInt(in.substring(5));
}
您可以将变量定义为对象。
Object x = "some string";
x = 3;
但是你应该了解更多关于java类型系统的信息。 因为不能在没有类型转换的情况下使用数学运算符。误解会导致内存泄漏。
Object x = "some string";
x = 3;
x = x + 1; // error
x = (Integer)3 +1; //Can cause memory leak
//bellow code is Ok. But it is complex. (Hard to read and a bit slower than usual).
x = new Integer(3);
x = new Integer((Integer)3 +1);
因此,适合您的情况的更好解决方案是使用 2 个差异变量。