>  기사  >  Java  >  Java에서 빈 줄이 끝나는 문제를 해결하는 방법

Java에서 빈 줄이 끝나는 문제를 해결하는 방법

PHPz
PHPz앞으로
2023-05-15 13:10:061487검색

Java 입력 빈 줄이 끝납니다

지난 두 번의 작성된 테스트에서 이 문제가 발생했습니다.

빈 줄을 입력한 후 입력을 중지하는 방법, 다양한 방법을 시도했는데 다음은 이 목적을 달성할 수 있는 코드입니다.

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()는 될 수 없습니다. 두 번째 판단 조건은 s.isEmpty() 또는 s.length == 0일 수 있습니다.

정보를 검색한 결과:

next()와 nextLine에는 다음과 같은 차이점이 있습니다.

next()는 입력을 종료하기 전에 유효한 문자를 읽어야 하며 유효한 문자 키를 입력하기 전에 스페이스 키와 Tab이 발생합니다. 또는 Enter 키를 사용하면 next() 메서드는 유효한 문자를 입력한 후에만 해당 문자를 자동으로 제거합니다. 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제