2016-04-02 55 views
0

按「Y」或「Y」一遍又一遍地重複我的代碼

import java.util.Scanner; 
 
class Quiz4 { 
 
    public static void main(String args[]){ 
 
\t \t char repeat = userInput.charAt(0); 
 
\t \t do{ 
 

 
     Scanner input = new Scanner(System.in); 
 
     System.out.println("Enter a binary number "); 
 
     String binaryString =input.nextLine(); 
 

 
     if (binaryString.matches("[10]+")) { 
 
\t \t System.out.println ("You entered " +binaryString); 
 
      System.out.println("Its base of 10 equivalent is "+Integer.parseInt(binaryString,2)); 
 
     } else { 
 
      System.out.println ("Try again "); 
 
      }while (repeat == 'Y' || repeat == 'y'); 
 
     } 
 
    } 
 
}

我寫的是二進制轉換爲十進制代碼,我已經得到了幾乎一切除了做我必須做確保程序繼續工作,直到用戶提示停止。我不知道如何將它應用到我的代碼。我知道我使用了do/while循環,但我不知道如何應用它。

import java.util.Scanner; 
class Quiz4 { 
    public static void main(String args[]){ 
     Scanner input = new Scanner(System.in); 
     System.out.println("Enter a binary number "); 
     String binaryString =input.nextLine(); 
     if (binaryString.matches("[10]+")) { 
      System.out.println ("You entered " +binaryString); 
      System.out.println("Its base of 10 equivalent is "+Integer.parseInt(binaryString,2)); 
     } else { 
      System.out.println ("Try again "); 
     } 
    } 
} 
+2

我會給你一個提示:使用了一段時間(真)和如果只包含在它break語句 – Natecat

+0

我不是可以在我的任務或無限循環 –

+0

使用它們的循環不是真正無限的,因爲你正在用break語句打破循環。像這樣的循環經常使用,簡單地不使用它們是愚蠢的。 – Natecat

回答

0

您的代碼有2個問題。 1)重複在循環中沒有改變,所以循環將永遠循環或只運行一次。爲了解決這個問題,在你的循環中的某個時刻,你需要改變重複的步驟,作爲用戶詢問他們是否繼續前進的最後一個反應。這使我感到2)你永遠不會問用戶他們是否想要再次轉換。詢問用戶是否要繼續下去,指定他們必須用y或響應,然後存儲他們在重複

+0

這可能聽起來很愚蠢,但我該怎麼做,即時通訊不是很有經驗,所以對我而言一切都是新的。 –

+0

你已經證明你可以打印輸出內容,並獲得輸入,那麼是什麼阻止你將這些知識應用於我要求你做的事情? – Natecat

+0

我不擅長詞彙這麼多的東西你說的話對我沒有意義 –

-1

使用響應在控制檯上做while循環

import java.util.Scanner; 
class Main { 
    public static void main(String args[]){ 
     Scanner input = new Scanner(System.in); 
     String str; 
     do{ 
      System.out.println("Enter a binary number "); 
      String binaryString =input.nextLine(); 
      if (binaryString.matches("[10]+")) { 
       System.out.println ("You entered " +binaryString); 
       System.out.println("Its base of 10 equivalent is "+Integer.parseInt(binaryString,2)); 
      } else { 
       System.out.println ("Try again "); 
      } 
      System.out.println("Do you want to continue ? Press Y or y"); 
      str = input.nextLine(); 
     }while(str.charAt(0) == 'Y'||str.charAt(0) == 'y'); 

     System.out.println("Exiting"); 
    } 
} 

輸出。

Enter a binary number 
100 
You entered 100 
Its base of 10 equivalent is 4 
Do you want to continue ? Press Y or y 
y 
Enter a binary number 
102 
Try again 
Do you want to continue ? Press Y or y 
y 
Enter a binary number 
111 
You entered 111 
Its base of 10 equivalent is 7 
Do you want to continue ? Press Y or y 
Y 
Enter a binary number 
110 
You entered 110 
Its base of 10 equivalent is 6 
Do you want to continue ? Press Y or y 
n 
Exiting 
+0

它不會繼續編譯時,什麼是你添加的第一個導入 –

+0

它是很好的編譯在我的本地,並給出了預期的結果。 – FallAndLearn

+0

你面臨的錯誤是什麼。 – FallAndLearn

相關問題