我一直盯着电脑看了两个小时,我无法弄清楚我做错了什么。任何人都可以帮我看看光吗?
package blackjack;
import java.util.Random;
import java.util.Scanner;
/**
*
*
*/
public class whileloop
{
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
}
// declare a variable
int human;
int computer;
int computerTotal=0;
int humanTotal=0;
Random randomNumber = new Random();
Scanner keyboatrd = new Scanner(System.in);
while((computerTotal < 21) && (humanTotal < 21))
{
computer = randomNumber.nextInt(11) + 1;
computerTotal = computerTotal + computer;
human= randomNumber.nextInt(11) + 1;
humanTotal=humanTotal+human;
}
if(computerTotal == 21)
{
System.out.println("computer total=" + computerTotal);
System.out.println("human total=" + humanTotal);
System.out.println("AI wins.");
else if (humanTotal == 21)
{
System.out.println("computer total =" + computerTotal);
System.out.println("human total=" + humanTotal);
System.out.println("Human wins.");
} else if ((computerTotal < 21) && (humanTotal > 21) )
{
System.out.println("computer total=" + computerTotal);
System.out.println("human total=" + humanTotal);
System.out.println("AI wins.");
}
else if ((computerTotal > 21) && (humanTotal > 21) )
{
System.out.println("computer total=" + computerTotal);
System.out.println("human total=" + humanTotal);
System.out.println("human wins.");
}
else
{
System.out.println("computer total=" + computerTotal);
System.out.println("human total=" + humanTotal);
System.out.println("No winner.");
}
}
}
答案 0 :(得分:1)
你的大括号中有几个错误。第一个是这段代码
public static void main(String[] args) {
// TODO code application logic here
}
你基本上有空程序,因为你的代码的其余部分位于main方法之外,编译器永远不会到达你的其余代码。请删除}
你的第二个错误出现在
中 if(computerTotal == 21)
{
System.out.println("computer total=" + computerTotal);
System.out.println("human total=" + humanTotal);
System.out.println("AI wins.");
else if (humanTotal == 21)
在第一个if
之后你没有右括号,所以else if
没有附加到任何if语句,因此编译错误。
您使用的是IDE吗?很多人说当你是菜鸟时使用IDE是个坏主意,但我认为这根本不是一个坏主意,因为它可以帮助你更快地看到这样的琐碎错误。此外,您还可以在学习编码时在IDE中开发个人工作流程,这样可以节省您的时间