ホームページ  >  記事  >  Java  >  Javaで空白行が終了する問題を解決する方法

Javaで空白行が終了する問題を解決する方法

PHPz
PHPz転載
2023-05-15 13:10:061439ブラウズ

java最後に空白行を入力してください

最後の 2 つの筆記テストはこの問題で悩まされています

空白行を入力した後に入力を停止する方法。さまざまな方法を試しましたが、次のとおりです。目的コード:

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

上記コードの最初の判定条件は in.hasNextLine() に置き換えることができますが、 in.hasNext() にすることはできません。 .isEmpty()、s.length == 0 にすることもできます。

情報を検索したところ、次のことがわかりました:

next() と nextLine には次の違いがあります:

next() は有効な文字を読み取る必要があります。 next() メソッドは、有効な文字を入力する前に見つかったスペースバー、Tab キー、Enter キーなどの終了文字を自動的に削除します。有効な文字が入力された後でのみ、next() メソッドは入力を終了します。スペースバー、Tab キー、Enter キーは区切り文字または終端文字とみなされます。

簡単に言えば、次のメソッドはスペースを含む文字列を取得できません。

nextLine() メソッドの終了文字は Enter キーだけです。つまり、nextLine() メソッドは Enter キーの前のすべての文字を返し、スペースを含む文字列を取得できます。

Java 入力データ、続行するにはスペース、入力を終了するには Enter を押してください

通常バージョン

は入出力できます。詳細コメント付き

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

バージョンアップ版

数字の繰り返し入力、結果の繰り返し出力、終了機能付き、

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

以上がJavaで空白行が終了する問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。