標題:
解決next()與nextLine()無法同時使用的問題
[打印本頁]
作者:
陳品肇
時間:
2019-7-27 15:34
標題:
解決next()與nextLine()無法同時使用的問題
試試看, 如果先使用 next() 再使用 nextLine() 會有什麼狀況?
在Scanner類別下, 有next()與nextLine()兩種方法, next()是以空白或換行為區格, nextLine()則是以換行為區格讀取整行, 當一起使用時, 會出現nextLine()無法正常運作的問題.
會這樣子的原因是因為next()是抓取空白或\n換行字元以前的字串, 所以next()抓完字串之後\n就被nextLine()抓住了, 因此nextLine()只有抓到\n而已, 沒有抓到應該抓的字串.
解決方法就是讓nextLine()重複抓取, 直到抓到有字串為止:
import java.util.Scanner;
public class Ch44
{
public static void main(String args[])
{
Scanner s=new Scanner(System.in);
String str1, str2;
System.out.print("請輸入一字串(不帶空白): ");
str1=s.next();
System.out.println(str1);
System.out.print("請輸入一字串(帶空白): ");
while((str2=s.nextLine()).equals(""));
System.out.println(str2);
}
}
複製代碼
import java.util.Scanner;
public class Ch44
{
public static void main(String args[])
{
Scanner s=new Scanner(System.in);
String str1,str2;
System.out.print("請輸入一字串(不帶空白): ");
str1=s.next();
System.out.println(str1);
System.out.print("請輸入一字串(帶空白): ");
str2=s.nextLine();
str2=s.nextLine();
System.out.println(str2);
}
}
複製代碼
作者:
陳柏霖
時間:
2019-7-27 17:25
import java.util.Arrays;
import java.util.Scanner;
public class World {
public static void main(String[] args) {
// TODO 自動產生的方法 Stub
Scanner x=new Scanner(System.in);
String str1 ,str2;
int a;
float b;
System.out.println("請輸入字串(不帶空白):");
str2=x.next();
System.out.println(str2);
System.out.println("請輸入字串(帶空白):");
str1=x.nextLine();
str1=x.nextLine();
System.out.println(str1);
}
}
複製代碼
作者:
章幼莛
時間:
2019-7-27 17:25
import java.util.Arrays;
import java.util.Scanner;
public class Ch01 {
public static void main(String[] args) {
Scanner c=new Scanner(System.in);
String str1,str2;
System.out.print("請輸入字串一:");
str1=c.next();
System.out.println(str1);
System.out.print("請輸入字串二:");
str2=c.nextLine();
str2=c.nextLine();
System.out.println(str2);
}
}
複製代碼
作者:
蔡依宸
時間:
2019-7-27 17:28
import java.util.Scanner;
public class World
{
public static void main(String args[]){
Scanner s=new Scanner(System.in);
String str1,str2;
System.out.print("請輸入一字串(不帶空白):");
str1=s.next();
System.out.println(str1);
System.out.print("請輸入一字串(帶空白):");
str2=s.nextLine();
str2=s.nextLine();
System.out.println(str2);
}
}
複製代碼
作者:
戴安利
時間:
2019-7-27 17:29
import java.util.Arrays;
import java.util.Scanner;
public class Haha1
{
public static void main(String[] args)
{
Scanner s= new Scanner(System.in);
String str1, str2;
System.out.print("請輸入一個字串(不帶空白): ");
str1=s.next();
System.out.println(str1);
System.out.print("請輸入一個字串(帶空白): ");
while((str2=s.nextLine()).equals(""));
System.out.println(str2);
}
}
複製代碼
作者:
蔡季庭
時間:
2019-7-27 17:30
import java.util.Scanner;
public class De
{
public static void main(String args[])
{
Scanner s=new Scanner(System.in);
String str1, str2;
System.out.println("請輸入一字串(不帶空白): ");
str1=s. next();
System.out.println(str1);
System.out.println("請輸入一字串(帶空白): ");
while((str2=s.nextLine()).equals(""));
System.out.println(str2);
}
}
複製代碼
作者:
戴唯陞
時間:
2019-7-27 17:30
import java.util.Scanner;
public class hello01 {
public static void main(String[] args) {
// TODO 自動產生的方法 Stub
Scanner s=new Scanner(System.in);
String str1, str2;
System.out.print("請輸入一字串(不帶空白)");
str1=s.next();
System.out.println(str1);
System.out.print("請輸入一字串(帶空白)");
while((str2=s.nextLine()).equals(""));
System.out.println(str2);
}
}
複製代碼
作者:
陳智鈞
時間:
2019-7-27 17:31
import java.util.Scanner;
public class Ch01
{
public static void main(String args[])
{
Scanner s=new Scanner(System.in);
String str1,str2;
System.out.print("請輸入一字串(不帶空白): ");
str1=s.next();
System.out.println(str1);
System.out.print("請輸入一字串(帶空白): ");
str2=s.nextLine();
str2=s.nextLine();
System.out.println(str2);
}
}
複製代碼
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/)
Powered by Discuz! 7.2