创建和分配对象时遇到问题

时间:2014-12-02 17:56:55

标签: java class oop

public class Eksamensøving2 {
    private static String Marcus;
    private static String Peter;

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {

     Konto kontoer [] = new Konto[2];
     kontoer [0] = new Konto(100,"Marcus");
     kontoer [1] = new Konto(200,"Peter");
         System.out.println("Saldo er: " + kontoer[1].getSaldo()+"kr på kontoen til " + kontoer[0].getEier());

         Konto minKonto = new Konto(); 
         minKonto.SettInnPenger();    

           }
    }

这是主要的课程

 public class Konto {
    double saldo;
    String eier;
    private Scanner input;

   public Konto (double innsaldo, String inneier) 
    {
        input = new Scanner(System.in);
        saldo = innsaldo;
        eier = inneier;
    }

    public double getSaldo () {
        return saldo;
    }
    public String getEier () {
        return eier;
    }
            public void SettInnPenger (){
        int settInn;
        String kontoSettInn;
        System.out.println("Skriv in navnet på kontoen;");
        kontoSettInn = input.nextLine();

        if (kontoSettInn == eier) {
            System.out.println("Skriv in beløpet du vil sette inn:");
            settInn = input.nextInt();
            saldo = saldo + settInn;
            System.out.println("beløpet på kontoen er:"+ saldo);
        }
        else 
            System.out.println("denne kontoen finnes ikke.");

            }
}

我在创建和分配对象到konto类时遇到了问题。 minKonto应该调用settInnPenger方法,但由于某种原因它会出错。将获得所有帮助。

1 个答案:

答案 0 :(得分:0)

您无法访问该数组,因为它仅在另一个类中的main方法中有效。 阅读:http://www.dummies.com/how-to/content/local-variables-in-java.html

Konto minKonto = new Konto();行无法编译,因为您在Konto类中没有默认构造函数。您需要innsaldoinneier参数来创建对象。 阅读:http://www.dummies.com/how-to/content/how-to-use-a-constructor-in-java.html

SettInnPenger方法中,您将两个字符串与==运算符进行比较,这是一件坏事。而是使用equals方法。 阅读:How do I compare strings in Java?

在Eksamensøving2课程的开头,您定义了Marcus和Peter字符串,但是您没有为它们指定任何值。我认为你应该这样做:

private static String Marcus = "Marcus";
private static String Peter = "Peter";

现在你可以创建像这样的konto对象:

 kontoer [0] = new Konto(100,Marcus);
 kontoer [1] = new Konto(200,Peter);

最后将你最好的朋友的名字给一个变量并不是一件好事。阅读:http://www.oracle.com/technetwork/java/codeconventions-135099.html