java輸入空行結(jié)束
最近兩次筆試都被這一個(gè)問題困擾
如何在輸入空行后停止輸入,嘗試了各種方法,以下是可以實(shí)現(xiàn)該目的的代碼:
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。
我查找資料發(fā)現(xiàn):
next()與nextLine有以下區(qū)別:
next()一定要讀取到有效字符后才可以結(jié)束輸入,對輸入有效字符之前遇到的空格鍵、Tab鍵或Enter鍵等結(jié)束符,next()方法會自動將其去掉,只有在輸入有效字符之后,next()方法才將其后輸入的空格鍵、Tab鍵或Enter鍵等視為分隔符或結(jié)束符。
簡單地說,next方法不能得到帶空格的字符串。
而nextLine()方法的結(jié)束符只是Enter鍵,即nextLine()方法返回的是Enter鍵之前的所有字符,它是可以得到帶空格的字符串的。
java輸入數(shù)據(jù),空格繼續(xù),回車結(jié)束輸入
普通版
可輸入,可輸出。帶詳細(xì)的注釋
import java.util.Scanner;
public class SumDemo {
public static void main(String[] args) {
System.out.println("請輸入兩個(gè)數(shù)字,中間用空格隔開,例如5 5");
//得到一個(gè)掃描器,用來掃描 系統(tǒng)的輸入
Scanner input = new Scanner(System.in);
//申明一個(gè)臨時(shí)的字符串變量temp,用來保存 掃描器讀取的一行;
String temp = input.nextLine();
//temp字符串首先trim()一下,就是去掉兩邊的空白,
//因?yàn)橛械娜丝赡茌斎氲氖?空格5空格5空格回車。.
//所以去掉兩邊的空格變成 5空格5回車 就符合要求了
//split(" ")方法表示,用空格去切割字符串,返回的結(jié)果是一個(gè)字符串?dāng)?shù)組
String[] ss = temp.trim().split(" ");
//從兩個(gè)字符串中解析得到兩個(gè)數(shù)字,并求和
int num1 = Integer.parseInt(ss[0]);
int num2 = Integer.parseInt(ss[1]);
int sum = num1+num2;
//輸出結(jié)果
System.out.println("輸入的數(shù)字是"+num1+" "+num2+"兩數(shù)的和是:"+sum);
//養(yǎng)成良好的習(xí)慣,打開了的資源要記得關(guān)閉,我們打開了掃描器,就要關(guān)閉掃描器
input.close();
}
}
升級版
可重復(fù)輸入數(shù)字,重復(fù)輸出結(jié)果,并帶退出功能、
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,那么退出。輸入兩個(gè)數(shù)字,用空格隔開");
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("輸入的數(shù)字是"+num1+" "+num2+"兩數(shù)的和是:"+sum);
}
input.close();
}
}
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持html5模板網(wǎng)。
【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請聯(lián)系我們刪除處理,感謝您的支持!