Java 可变结果为';找不到

Java 可变结果为';找不到,java,bluej,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(" Ente

这个程序很简单,而且是自己分配的,所以不,这不是家庭作业

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

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);
    }
}            
在主要方法中:

 System.out.println("The sum of these numbers is " + Sum(result)); 
result
尚未在
main()
可见的任何作用域中声明

我认为您的意思是让
Sum
返回
结果,而不是
Sum
获取
int result
参数。在没有给出完整答案的情况下,从这里开始:

public static int Sum (int num1, int num2, int num3) {
    int result = num1 + num2 + num3;
    System.out.println(result);
    return result;
}
这还将解决另一个编译器错误(即原始代码中的
Sum
不返回任何内容,但其声明的返回类型为
int
)。

1)未找到变量结果

这是因为您的主方法没有声明结果是什么? 您已将结果传递给方法sum。 在这里: System.out.println(“这些数字的总和是”+总和(结果))

2) 方法sum使用四个参数定义,但在调用期间仅传递一个参数

3) 这两种方法都应该根据计算结果返回某些内容,或者声明它无效。方法square和sum都被定义为返回某些东西,但不返回

这里是链接到 Java教程 还建议通过示例程序和示例来丰富您的知识​ 学习


快乐编码。

Sum需要这个参数(int num1,int num2,int num3,int result),你只传递结果,第二:结果是什么你的main中没有结果变量请告诉我我的部分答案是否不足以让你解开,我可以给你所有的代码。但这对你来说是一个学习练习,对吗<代码>:)
啊,谢谢!!我更喜欢得到提示而不是整个答案。是的,我正在努力完成我的一个新年决心(学习java),所以我给自己分配了多个程序,但正如你所看到的,我还有很长的路要走,哈哈。修复了编译错误,但现在它处于一个永无止境的循环中,只返回结果。哎呀?