Heim >Java >javaLernprogramm >So lösen Sie das Problem der Beendigung der Leerzeile in Java

So lösen Sie das Problem der Beendigung der Leerzeile in Java

PHPz
PHPznach vorne
2023-05-15 13:10:061492Durchsuche

Java-Eingabe-Leerzeile endet

Die letzten beiden schriftlichen Tests hatten dieses Problem.

So stoppen Sie die Eingabe nach Eingabe einer Leerzeile. Ich habe verschiedene Methoden ausprobiert. Der folgende Code kann diesen Zweck erreichen:

public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while(true){//第一处
String s = in.nextLine();
if(s.equals(""))//第二处
break;
System.out.println(s);
}
System.out.println("Over Input");
}

Der obige Code ist die erste. Eine Beurteilungsbedingung kann durch in.hasNextLine() ersetzt werden, sie kann jedoch nicht durch in.hasNext() ersetzt werden. Die zweite Beurteilungsbedingung kann s.isEmpty() oder s.length == 0 sein.

Ich habe nach Informationen gesucht und Folgendes gefunden:

next() und nextLine weisen die folgenden Unterschiede auf:

next() muss gültige Zeichen lesen, bevor die Eingabe beendet werden kann, bevor gültige Zeichen eingegeben werden können oder die Eingabetaste, die next()-Methode entfernt sie automatisch. Erst nachdem gültige Zeichen eingegeben wurden, behandelt die next()-Methode die Leertaste, die Tabulatortaste oder die Eingabetaste, die anschließend als Trennzeichen oder Endezeichen eingegeben werden.

Einfach ausgedrückt: Die nächste Methode kann keine Zeichenfolge mit Leerzeichen abrufen.

Das Endzeichen der nextLine()-Methode ist nur die Eingabetaste, d. h. die nextLine()-Methode gibt alle Zeichen vor der Eingabetaste zurück und kann eine Zeichenfolge mit Leerzeichen abrufen.

Java-Eingabedaten, Leertaste, um fortzufahren, drücken Sie die Eingabetaste, um die Eingabe zu beenden.

Normale Version

kann eingegeben und ausgegeben werden. Mit detaillierten Anmerkungen

import java.util.Scanner;
public class SumDemo {
    public static void main(String[] args) {
        System.out.println("请输入两个数字,中间用空格隔开,例如5 5");
        //得到一个扫描器,用来扫描 系统的输入
        Scanner input = new Scanner(System.in);
        //申明一个临时的字符串变量temp,用来保存 扫描器读取的一行;
        String temp = input.nextLine();
        //temp字符串首先trim()一下,就是去掉两边的空白,
        //因为有的人可能输入的是 空格5空格5空格回车。.
        //所以去掉两边的空格变成 5空格5回车 就符合要求了
        //split(" ")方法表示,用空格去切割字符串,返回的结果是一个字符串数组
        String[] ss = temp.trim().split(" ");
        //从两个字符串中解析得到两个数字,并求和
        int num1 = Integer.parseInt(ss[0]);
        int num2 = Integer.parseInt(ss[1]);
        int sum = num1+num2;
        //输出结果
        System.out.println("输入的数字是"+num1+" "+num2+"两数的和是:"+sum);
        //养成良好的习惯,打开了的资源要记得关闭,我们打开了扫描器,就要关闭扫描器
        input.close();
    }
}

Aktualisierte Version

Sie können Zahlen wiederholt eingeben, Ergebnisse wiederholt ausgeben und verfügen über eine Exit-Funktion,

import java.util.Scanner;
public class SumTest {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        while(true){
            System.out.println("如果输入exit,那么退出。输入两个数字,用空格隔开");
            String temp = input.nextLine();
            if(temp.trim().equals("exit")){
                break;
            }
            String[] ss = temp.trim().split(" ");
            int num1 = Integer.parseInt(ss[0]);
            int num2 = Integer.parseInt(ss[1]);
            int sum = num1+num2;
            System.out.println("输入的数字是"+num1+" "+num2+"两数的和是:"+sum);
        }
        input.close();
    }
}

Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem der Beendigung der Leerzeile in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen