2017-04-06 120 views
0

程序非常簡單,它是自我分配的,所以不,它不是作業。變量結果未找到

用戶應該輸入三個數字,顯示平方的數字,並顯示數字的總和。

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); 
    } 
}    
+0

總和需要這個aruments(int num1,int num2,int num3,int結果)並且你只傳遞結果,第二個:你的主結果中沒有結果變量的結果 –

回答

1

在main方法:

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

resultmain()可見的任何範圍尚未聲明。

而不是Sumint 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)。

+0

讓我知道如果我的部分答案是不足以讓你失去知覺,我可以給你所有的代碼。但是這是爲了你的學習練習,對吧? ':)' –

+0

啊謝謝!!當我得到提示而不是整個答案時,我更喜歡它。 – xPink

+0

是的,我試圖完成我的新年決議之一(學習Java),所以我一直在分配自己的多個程序,但你可以看到,我仍然有looooong的方式去,哈哈。 – xPink

0

1)未找到變量結果。

這是由於你的主要方法沒有聲明結果是什麼? 您已將結果傳遞給方法總和。 System.out.println(「這些數字的總和是」+ Sum(result)); 2)方法和用四個參數定義,但在通話期間只傳遞一個參數。

3)兩種方法都應該根據計算結果返回某些東西,或者聲明它是無效的。方法square和sum都被定義爲返回一些東西,但不這樣做。

這裏是鏈接到 Java教程https://docs.oracle.com/javase/tutorial/ 也會建議通過示例程序和示例來豐富您的學習。

快樂編碼。