2011年9月20日 星期二

三級憤怒 - jAG301

import java.util.*;
class Test301{
 public static void main(String[]args){
Scanner stdin=new Scanner(System.in);
  int num;
  do{
      System.out.print("How many strings?");
      num=stdin.nextInt();
  }while(num<1);
String x[]=new String[num];
  for(int i=0;i<x.length;++i){
      System.out.print("["+i+"]=");
      x[i]=stdin.nextLine();
  }
 }
}
 
上面程式可以執行, 可是會跳過 x[0]=stdin.nextLine() 輸入 ?

2 Response to 三級憤怒 - jAG301

2011年9月25日 上午11:58

num=Integer.parseInt(stdin.nextLine());
改這樣就行了...
原因是因為
num=stdin.nextInt();
↑這行把輸入的int給num但是換行符號卻留下來了
x[0]=stdin.nextLine()在跑這行時就直接讀到空字串跟換行符號

2011年9月25日 中午12:05

不然就是把x[i]=stdin.nextLine();
改成x[i]=stdin.next();
看需求0.0

張貼留言