我正在嘗試編寫一個程序,該程序在數組Data []中生成並存儲20個隨機數並要求用戶輸入他們的猜測。如果它們的數字出現在數組中,則每次出現時都會得到10分,數組將被打印,並且所有可以找到幸運數字的位置都會被打印出來。如果它不出現在數組中,我必須打印數組的最低和最高值,並只允許再嘗試一次。如果玩家第二次得到正確的結果,他們每次獲得1分。 例如:Data[]={3,1,8,31,25,6,3,20,41,12,3,23,7,3,65,49,5,0,13,17}
,並且如果用戶輸入3
則程序將輸出查找陣列中的數字位置並給出分數Java
並且對於相同Data[]={3,1,8,31,25,6,3,20,41,12,3,23,7,3,65,49,5,0,13,17}
如果用戶輸入2
則程序將輸出
Sorry your lucky number 2 is not in the array!
Hint: Lowest Value:1 Highest Value 65 Try again with a different number in this range.
如果他們輸入65
在他們的第二次嘗試然後程序會輸出
You get 1 point(s)!
這是我嘗試過的代碼,但它不工作。它一直告訴我我的號碼不在陣列中。最低和最高值工作。我不知道如何解決它。我必須在明天之前完成這件事。任何幫助將不勝感激。
String input1 = JOptionPane.showInputDialog("Please enter your lucky number between 0 and 100.");
luck=Integer.parseInt(input1);
System.out.println("Input " +luck);
int Data[] = new int [20];
for(int i=0; i<Data.length;++i){
Data[i] = (int) (Math.random() * 100);
System.out.print(Data[i]+ " \t");
}
for(int i=0; i<Data.length;++i){
if(Data[i]==luck){
System.out.println(luck+ " can be found in the following positions: ");
System.out.println(i);
score=score+10;
System.out.println(luck+ " appears " +(luck/10)+ " times. You get " +score+ " points.");
}else if(Data[i]!=luck){
Arrays.sort(Data);
System.out.println();
System.out.println(luck+ " is not in the array.");
System.out.println("Hint: " +Data[0]+ " is the lowest value and " +Data[19]+ " is the highest.");
input1 = JOptionPane.showInputDialog("Please enter another number between 0 and 100.");
luck=Integer.parseInt(input1);
}
}
System.out.println();
System.out.println("Score: " +score);
}}
而且它不應該說的System.out.println(運氣+ 「出現」 +(得分/ 10)+ 「次你得到」 +分數+ 「點」。) ; ,而不是「運氣/ 10」次? –
@telefunken我試過,但現在當我輸入數字3時,我得到這個作爲輸出: Input 3 | 73 89 81 97 14 92 71 36 1 57 89 82 3 45 5 43 66 71 46 62 | 3可在以下位置找到: | 3出現0次。你得到10分。 得分:10 – bluebarry
@telefunken我不知道櫃檯是什麼。幾個月前我剛開始學習代碼。我如何將它添加到循環中? – bluebarry