Rumah  >  Artikel  >  Java  >  Bagaimana untuk menyelesaikan masalah menamatkan baris kosong di Jawa

Bagaimana untuk menyelesaikan masalah menamatkan baris kosong di Jawa

PHPz
PHPzke hadapan
2023-05-15 13:10:061471semak imbas

Baris kosong input Java tamat

Dua ujian bertulis terakhir telah bermasalah dengan masalah ini

Bagaimana untuk menghentikan input selepas memasuki baris kosong, saya telah mencuba pelbagai kaedah, berikut adalah cara mencapai kod Tujuan ini:

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");
}

Syarat penghakiman pertama kod di atas boleh digantikan dengan in.hasNextLine(), tetapi ia tidak boleh dalam.hasNext(). isEmpty(), Ia juga boleh s.length == 0.

Saya mencari maklumat dan mendapati:

next() dan nextLine mempunyai perbezaan berikut:

next() mesti membaca aksara yang sah Anda boleh tamatkan input. Kaedah seterusnya() akan mengalih keluar aksara penamat secara automatik seperti bar ruang, kekunci Tab atau kekunci Enter yang ditemui sebelum memasukkan aksara yang sah Hanya selepas aksara yang sah dimasukkan, kaedah seterusnya() akan masuk ia selepas itu Bar ruang, kekunci Tab atau kekunci Enter dianggap sebagai pemisah atau penamat.

Ringkasnya, kaedah seterusnya tidak boleh mendapatkan rentetan dengan ruang.

Watak akhir kaedah nextLine() hanyalah kekunci Enter, iaitu kaedah nextLine() mengembalikan semua aksara sebelum kekunci Enter, dan ia boleh mendapatkan rentetan dengan ruang.

Data input Java, ruang untuk meneruskan, tekan Enter untuk menamatkan input

Versi biasa

boleh menjadi input dan output. Dengan anotasi terperinci

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();
    }
}

Versi ditingkatkan

Boleh berulang kali memasukkan nombor, berulang kali mengeluarkan hasil dan mempunyai fungsi keluar,

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();
    }
}

Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah menamatkan baris kosong di Jawa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam