0

我是Java的初学者。有人可以帮我识别并修复以下代码中的错误吗?谢谢!

import java.util.Scanner;
import java.util.Random;

public class p6_35
{

public static void main( String[] args )

    {
    Scanner input = new Scanner( System.in );

    Random randomNumbers = new Random();

    toMultiply();

    }

    public static void toMultiply();
    {
        int number1 = randomNumbers.nextInt();
        int number2 = randomNumbers.nextInt();

        System.out.printf( "How much is %d times %d?\n", number1, number2 );
        int answer = input.nextInt();

        int corrAns = number1 * number2;

        if( corrAns == answer )
        {
        System.out.print( "Very good!" );
        }

        while( corrAns == answer )
        {
         number1 = randomNumbers.nextInt();
             number2 = randomNumbers.nextInt();

             System.out.printf( "How much is %d times %d?\n", number1, number2 );
             answer = input.nextInt();

             corrAns = number1 * number2;

             if( corrAns == answer )
             {
            System.out.print( "Very good!" );
             }
        }

       while( corrAns != answer )
       {
            System.out.printf( "No. Please try again.");
            answer = input.nextInt();

            corrAns = number1 * number2;

            if( corrAns == answer )
            {
           System.out.print( "Very good!" );
            }
       }
    }

}
4

2 回答 2

1

您无法访问randomNumbers,因为它只是该main方法的本地。您可以做的一件事是将randomNumbers声明和初始化移到外部main method并使其成为静态,以便类中的所有方法都可以访问它。这将被称为创建一个全局变量。

此外,作为 Java 初学者,您应该注意命名约定,以避免养成不良习惯。您的班级名称似乎很晦涩。您的方法/类/字段的名称应该反映它所代表/所做的事情。

于 2013-08-18T02:48:05.893 回答
0

您已经在 main 方法中定义了 Random 实例并尝试从其他方法的主体访问。尝试在 main 方法之外定义 random 实例或将 random 的实例作为参数传递给 toMultiply 方法

于 2013-08-18T02:48:51.437 回答