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方法,但由于某种原因它会出错。将获得所有帮助。
答案 0 :(得分:0)
您无法访问该数组,因为它仅在另一个类中的main方法中有效。 阅读:http://www.dummies.com/how-to/content/local-variables-in-java.html
Konto minKonto = new Konto();
行无法编译,因为您在Konto类中没有默认构造函数。您需要innsaldo
和inneier
参数来创建对象。
阅读: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