我在Java中创建了一个小程序,用户被要求选择3张卡,范围从4到6.这是一个草率的代码,但它的工作原理。生成三个随机数(4到6)。如果用户以正确的顺序猜出这些数字,他就赢了。现在,如果用户第一次没有获得正确的牌,则应该有一个选项可以改变他的一个猜测。这应该由用户通过插入1,2或3来重试。不应生成新的随机数。我在学校还没有学到这一点,并尝试在网上搜索。谁能给我一些洞察力呢?
package cardgame;
import java.util.Scanner;
public class CardGame {
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
int[] guess = new int[3];
int[] card = new int[3];
System.out.println("Pick three cards with numbers ranging from 4 to 6!\n");
for (int i=0; i<3; i++){
System.out.print("Card number " + (i+1) + " (4, 5 or 6): ");
guess[i] = scan.nextInt();
}
System.out.println(" ");
System.out.println("Your hand of cards: " + "[" + guess[0] + "]" + "[" + guess[1] + "]" + "[" + guess[2] + "]");
for (int i=0; i<3; i++){
card[i] = (int) (Math.random() * 3 + 2 +2);
}
System.out.println("My hand of cards: " + "[" + card[0] + "]" + "[" + card[1] + "]" + "[" + card[2] + "]\n");
int count = 0;
for (int i=0; i<3; i++){
if (card[i] == guess[i])
count++;
}
if (count == 3){
System.out.println("Congratulations, you have won!");
} else{
System.out.println("I'm sorry, you lost!");
}
}
}
答案 0 :(得分:1)
这样的事情怎么样:
System.out.println("Would you like to change one of your guesses? yes/no");
if(scan.next() == "yes")
{
System.out.println("What guess would you like to change? 1/2/3");
if(scan.nextInt() == 1 || scan.nextInt() == 2 || scan.nextInt() == 3)
{
int temp = scan.nextInt();
System.out.println("What is your new guess?");
guess[temp-1] == scan.nextInt(); // -1 because array index starts at 0
}
else
System.out.println("That's not a valid guess number");
}
这是一个非常基本的例子。您可以根据需要使其变得复杂。例如,通过添加循环提示用户再次询问他们的猜测是否无效。