尝试while循环时我的编码出错

时间:2015-09-29 18:35:02

标签: java

我一直盯着电脑看了两个小时,我无法弄清楚我做错了什么。任何人都可以帮我看看光吗?

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."); 
        }
        }
    }

1 个答案:

答案 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中开发个人工作流程,这样可以节省您的时间