基本Java:将数据传递给函数

时间:2015-09-04 08:09:58

标签: java

Language: Java 
OS: Windows 
IDE: NetBeans 8.0.2

我是Java的新手,我正在尝试使用在线资源自学,所以我为新问题道歉,并提前感谢您的帮助。

我的目标:创建一个类。为变量赋值。创建一个功能。创建一个对象。调用函数显示变量。

问题:"错误:找不到符号test1.printResult(result);"

package usingoperators;

class MathDemo 
{
    // create integer variable and initiate it to 3
    int result = 1 + 2; //result is now 3

    // create printResult function with result parameter
    void printResult(int result) // result is passed to printResult function
    {
        System.out.println(result); // prints result
    }
}    
public class UsingOperators 
{
   public static void main(String[] args) 
    {      
        MathDemo test1 = new MathDemo(); // creates test1 object
        test1.printResult(result); // calls the printResult function to print result
    }
}

我的猜测是我没有通过"结果" to printResult();正确。

3 个答案:

答案 0 :(得分:3)

主方法中没有变量result,因此Java不知道要传递给printResult()的内容。您应该在main方法中本地定义一个result变量,这样您就可以将它传递给方法(而不是在OOP中调用它,而不是函数)。

我还会实现add()方法,因此您可以传递两个数字并返回总和。

做数学的课程:

package usingoperators;

public class MathDemo 
{

    // Calculate a + b and return result
    public int add(int a, int b) {
        return a + b;
    }

    // create printResult function with result parameter
    public void printResult(int result) // result is passed to printResult function
    {
        System.out.println(result); // prints result
    }
}    

使用MathDemo的类:

package usingoperators;

public class UsingOperators 
{
   public static void main(String[] args) 
    {
        MathDemo test1 = new MathDemo(); // creates test1 object

        int result = test1.add(1, 2); // Calculate 1 + 2 and store result in variable
        test1.printResult(result); // pass result to method to print it
    }
}

答案 1 :(得分:1)

result课程中没有UsingOperators个变量。您必须先创建此变量,然后再将其传递给MathDemo printResult(...)方法。例如:

public class UsingOperators{

    public static void main(String[] args){
        int reuslt = 1;
        MathDemo test1 = new MathDemo(); // creates test1 object
        test1.printResult(result); // calls the printResult function to print result
    }
}

答案 2 :(得分:1)

您将函数的结果作为参数给出,但在main方法中未知结果。 试试这个。

   public static void main(String[] args) 
{
    MathDemo test1 = new MathDemo(); 
    int result = 1 + 2; 
    test1.printResult(result); 
}