找不到可变结果

时间:2017-04-06 02:26:06

标签: java bluej

程序非常简单,它是自我分配的,所以不,它不是作业。

用户应该输入三个数字,显示平方数字,并显示数字的总和。

import java.util.Scanner;
public class CompSquares {
    public static void main (String args[]) {
        Scanner s= new Scanner( System.in); 
        int num1;
        System.out.println(" Enter a number please.");
        num1 = s.nextInt();
        int num2;
        System.out.println("One more."); 
        num2 = s.nextInt();
        int num3;
        System.out.println("Last one.");
        num3 = s.nextInt();

        System.out.println( "The numbers squared are " + Square( num1, num2, num3));
        System.out.println("The sum of these numbers is " + Sum(result)); 
    }

    private static double Square ( int num1, int num2, int num3) {

        if ( num1 > 0) {
            num1 *= num1;
            System.out.println (num1);} 
            else {
                System.out.println( "Enter a correct number, please.");
            }
            if ( num2 > 0){ 
                 num2 *= num2;
                System.out.println (num2); }
                else {
                    System.out.println("Really? Again. Do the right thing this time, jeez.");
                }
            if ( num3 > 0){
                num3*=num3;
                System.out.println (num3);}
                else {
                    System.out.println("Just make it more then one!!");
                }
            }

    public static int Sum ( int num1, int num2, int num3, int result) {
        result = num1 + num2 + num3;
        System.out.println(result);
    }
}            

2 个答案:

答案 0 :(得分:1)

主要方法:

 System.out.println("The sum of these numbers is " + Sum(result)); 

result尚未在main()可见的任何范围内声明。

而不是Sum采用int result参数,我认为您的结果是Sumreturn。如果没有给出整个答案,请从这里开始:

public static int Sum (int num1, int num2, int num3) {
    int result = num1 + num2 + num3;
    System.out.println(result);
    return result;
}

这也将解决另一个编译器错误(原始代码中的Sum不会返回任何内容,但它声明的返回类型为int)。

答案 1 :(得分:0)

1)找不到变量结果。

这是由于你的主要方法没有声明结果是什么? 你已经将结果传递给方法总和。 这里: System.out.println(“这些数字的总和是”+ Sum(结果));

2)方法和用四个参数定义,但在调用期间只传递一个。

3)任何一种方法都应该根据完成的计算返回一些东西,或者声明它是无效的。方法square和sum都被定义为返回一些东西但不这样做。

这是指向的链接 Java教程https://docs.oracle.com/javase/tutorial/ 也建议通过示例程序和示例来丰富您的学习。

快乐的编码。