Java 如何以任意顺序使用字符串和整数组合作为输入?
如果这是一个非常基本的问题,我很抱歉,但这是我在java中的第一周(主要是python回溯) 我想给变量赋值:Java 如何以任意顺序使用字符串和整数组合作为输入?,java,Java,如果这是一个非常基本的问题,我很抱歉,但这是我在java中的第一周(主要是python回溯) 我想给变量赋值:x和y 在控制台中,我希望能够明确地说x=some number和y=some number,这样输入数字的顺序就不重要了 因此可能是: x = some number y = some number 或 我需要能够在运行代码时为变量赋值 如何实现这一点?在Java中,变量必须声明一个类型,并且该变量只能存储特定类型的值。您可以这样声明变量: String x; String y;
x
和y
在控制台中,我希望能够明确地说x=some number
和y=some number
,这样输入数字的顺序就不重要了
因此可能是:
x = some number
y = 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=“一些字符串”;
x=3;
但您应该进一步了解java类型系统。
因为没有类型转换,您无法使用数学运算符。误解可能会导致内存泄漏
Object x=“一些字符串”;
x=3;
x=x+1;//错误
x=(整数)3+1//可能导致内存泄漏
//下面的代码可以。但它是复杂的。(阅读困难,速度比平时慢一点)。
x=新的整数(3);
x=新整数((整数)3+1);
因此,更好的解决方案是使用两个差异变量。您的意思是在运行代码时从控制台传递参数吗?是的,就是从控制台传递参数。我想特别指定一个值“x=something,y=something”(其中x和y是代码中的变量),我这样做的顺序并不重要。因此,您想将字符串
“something”
指定给x
和y
?是的,这正是我要寻找的确定的可能重复项,因此我无法将“x=3和y=2”以及变量x和y现在将具有值x=3和y=2?是的。您不能。但是可以放置x=“3”和y=“2”。要使用整数值,您需要使用integer.parseInt(x)或integer.parseInt(y);
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));
}
Scanner scn = new Scanner(System.in);
String line =scn.nextLine();
int x,y;
String[] parts = line.split("=");
if(parts[0] == 'x'){
x = parseInt(parts[1]);
}else{
y = paseInt(parts[1]);
}