【发布时间】:2021-10-19 10:22:06
【问题描述】:
我正在学习 Java,想知道如何在同一行中获得两个数字。
这个算法可以吗,我可以做些什么改进?你有什么建议?
import java.util.Scanner;
public class Main{
public static int Separate(String Values, int Order){
String toReturn = "";
int Counter = 0;
for(int Iterator = 0; Iterator < Values.length(); Iterator = Iterator + 1){
if(Values.charAt(Iterator) == ' ') {
if(Order == Counter) break;
else{
toReturn = "";
Counter = Counter + 1;
}
}
else toReturn += Values.charAt(Iterator);
}
return Integer.parseInt(toReturn);
}
public static void main(String[] args){
Scanner Entry = new Scanner(System.in);
System.out.print("Enter two numbers separated by space: ");
String Number = Entry.nextLine();
int Frst = Separate(Number, 0);
int Scnd = Separate(Number, 1);
}
}
【问题讨论】:
-
所以代码已经工作了?我认为Code Review 更好(询问之前阅读他们的帮助中心)
-
是的,它正在工作。
-
如果数字之间有多个空格,您的代码可能不会像预期的那样运行。我建议使用
Values.split("\\s+")来分割至少有一个空格的字符串。 -
备注:在java中,它是一种广泛使用的约定,即变量名以小写字符开头。
-
你是对的@MrSmith42。不再使用一个空间。我会尝试修复它。谢谢。
标签: java algorithm function class oop