2012-11-07 227 views
1

我最近使用Java開始了,我要開始一個大的項目,但我發現在我的代碼奇怪的問題,看起來像這樣:代碼不斷跳過輸入步驟

import java.util.Scanner; 
public class Sifre { 

    public static void main(String[] args) { 
     Scanner unos = new Scanner(System.in); 
     System.out.println("Unesite broj sifara:"); 
     int bsif = unos.nextInt(); 
     String sifre[] = new String [bsif]; 
     String imena[] = new String [bsif]; 
     int i,z; 
     for (i = 0;i<bsif;i++) 
     { 
      System.out.println("Unesite sifru broj " + (i+1)); 
      sifre[i] = unos.nextLine(); 
     } 
     for (z=0;z<bsif;z++) 
     { 
      System.out.println(sifre[z]); 
     } 
    } 

} 

我每次運行代碼,它跳過第一個輸入步驟,並繼續正常工作,即使計數器以大於0開始。這裏是輸出,告訴我什麼是錯誤的(我知道代碼不完美,但它是我第一次在3

> Unesite broj sifara: 

>>3 

>Unesite sifru broj 1 

>Unesite sifru broj 2 
>>first 

>Unesite sifru broj 3 
>>second 
> 
>first 
> 
>second 
+0

在循環之前和此語句之後添加'unos.nextLine();'int bsif = unos.nextInt();'。 – Lion

+0

你只會在SO上發現很多關於這個問題的問題,把Google放在一邊。 –

+0

我知道這是一個普遍的問題,但我很難說出我的答案在搜索引擎中獲得任何結果 – Fokezy

回答

0

Add input.nextLine()後的Java個月)

int bsif = unos.nextInt();