Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 读取两行输入,然后拆分_Java_String_Java.util.scanner - Fatal编程技术网

Java 读取两行输入,然后拆分

Java 读取两行输入,然后拆分,java,string,java.util.scanner,Java,String,Java.util.scanner,我正在做一个作业,在这个作业中,我需要从控制台读取两行独立的代码,将其存储在一个变量中,然后才能拆分它 样本输入: “5” “名字” 输入的第一行需要转换为整数,第二行需要转换为字符串。因此,您将以: 5-int “Firstname”-字符串 我尝试过使用String.split()方法,但我不确定如何按换行符进行拆分。答案很简单 Scanenr scan = new Scanner(System.in); String input = scan.nextLine(); String[] th

我正在做一个作业,在这个作业中,我需要从控制台读取两行独立的代码,将其存储在一个变量中,然后才能拆分它

样本输入:

“5”
“名字”

输入的第一行需要转换为整数,第二行需要转换为字符串。因此,您将以:
5-int
“Firstname”-字符串


我尝试过使用
String.split()
方法,但我不确定如何按换行符进行拆分。

答案很简单

Scanenr scan = new Scanner(System.in);
String input = scan.nextLine();
String[] th = input.split(" ");

//After splitting
int a = Integer.parseInt(th[0]);  //5
String b = th[1]; //FirstName
Scanner scanner = new Scanner(System.in);

public static void main(String[] args) {
    int line1 = 0;

    while (true) {
        String input = scanner.nextLine();
        if (input.length > 0) {
            try {
                line1 = Integer.parseInt(input);
                break;
            } catch (NumberFormatException e) {
                System.out.println("Input not an integer, try again.");
            }
        } else {
            // User entered nothing. Break loop to stop it from never ending.
            break;
        }
    }
    String line2 = Scanner.nextLine();
}
这将从扫描仪中存储一个整数,并强制确保它是一个整数,然后再存储一个字符串。如果输入的整数不正确,它将请求另一个整数

如果以后需要为每个空格拆分字符串,请使用:

String[] array = line2.split(" ");
不能拆分整数

如果需要将两个输入组合成一个字符串,则可以使用:

String completeString = line1 + " " + line2;
同样,您可以使用以下方法进行拆分:

String[] array = completeString.split(" ");
因此,如果用户输入55,并输入“Hello”,则在拆分后,您将得到以下结果:

["55", "Hello"]

你会得到一个错误。你不能自动从字符串转换为整数。@frayment抱歉,你的拼写错误!您是否进行过类型检查以确保整数正确解析?看看我的答案参考@frayment-您需要使用try-catch子句@弗雷门特:我没告诉你,@playstonerask会验证东西,所以我告诉他参考你的答案!最好的方法是编写一些代码。如果要按行拆分,请使用
identifier.split(“\n”)如果输入实际上包含换行符。我已经编写了整个程序。因为我是一个初学者,所以我一直坚持这个。实际上,我编写了两个独立的变量来获取输入。