一个简单的Java程序,我需要帮助

时间:2011-07-26 17:53:07

标签: java

我不得不做一个Java程序说:

  

在java中编写程序以实现继承。您的程序应具有以下结构

     
      
  1. 创建一个Base类来保存两个Integers和一个显示它们的方法。
  2.   
  3. 在派生类中添加另一个Integer并显示它。
  4.   
  5. 在同一派生类中创建一个方法以添加三个数字。
  6.   
  7. 将值传递给整数并显示结果。
  8.   

我并不擅长Java,所以我不知道我所做的是对还是错,或者是什么!而且我想我不太明白什么是想要的。以下是我提出的建议:

public class firstclass {
    int a=5;
    int b=6;

    public void Display (){
        System.out.println(a+b);
    }
}

public class secondclass extends firstclass {
    int z=0;

    public void Displaysecond (){
        System.out.println(z);
    }

    public void add (){
        z=a+b;
        System.out.println(z);
    }
}

public class mainOne {
    public static void main(String[] args) {
        firstclass call = new firstclass();
        secondclass call2 = new secondclass();

        call.Display();
        call2.Displaysecond();
        call2.add();
    }
}

它运行没有任何问题,但我得到“11”表示“System.out.println(a + b);”而a = 5和b = 6 我能正确地解决这个问题吗?

2 个答案:

答案 0 :(得分:3)

一切看起来都不错,除了:

3. Create a method in the same derived Class to add the three numbers.

public void add ()
{
    z=a+b;
    System.out.println(z);
}

该方法添加a和b但是将其放入z中。并且它不会返回任何内容,所以它应该是这样的:

public int add ()
{
    return a+b+z;
}

然后在主要内容你应该有:

System.out.println(call2.add());

答案 1 :(得分:3)

你有一些问题。正如Grammin所说,你的添加功能不是你老师想要的。你的老师想要你a,b和z。所以

public void add(){
    int sum = a + b + z;
    System.out.println(sum);
}

或者,您可以void add() int add()并返回sum

其次,您不遵循Java约定。你的变量需要更不恰当地命名,你的类需要以大写字母开头,你的方法需要以小写字母开头。

也许您应该将您的类命名为FirstClass,SecondClass和MainClass?

您的方法:display(),displaySecond()和add()

您的变量:a,b,c或num1,num2,num3。 (为了保持一致)

另外,call.display()应该产生与call2.display()相同的结果,因为SecondClass是FirstClass的子类。阅读this以更好地理解继承。

附注:如果您正在进行某种在线数学运算,您应该在括号()中添加数字以便澄清和安全。例如

public void display(){
    System.out.println((a + b));
}

而不是

public void display(){
    System.out.println(a+b);
}