所以我得到了這個設置主題的程序,並對它進行分級。在創建對象之前設置實例變量
現在我得到這一段代碼:
package ectsmonitor;
import java.util.Scanner;
import java.util.stream.IntStream;
/**
*
* @author JasperF
*/
public class ECTSMonitor {
private int aantalvakken;
private final double voldoende = 5.5;
private String[] vak = new String[aantalvakken];
private Scanner input = new Scanner(System.in);
private int[] ECTS = new int[aantalvakken];
private double[] Cijfer = new double[aantalvakken];
private int totaalECTS;
/**
* @param args the command line arguments
*/
/**
* Asks for amount of Subjects, and sets instance variable for size of
* Arrays
*/
public void setSubjects() {
//System.out.println("Hoeveel vakken heb je?");
//aantalvakken = input.nextInt();
System.out.println(vak.length);
for (int x = 0; x < getAantalvakken(); x++) {
System.out.println("Voer de naam in van je vak!");
vak[x] = input.next();
System.out.println("Voer het aantal punten in voor " + vak[x]);
ECTS[x] = input.nextInt();
System.out.println("Vak Toegevoegd!!");
}
}
public void setCijfer() {
for (int x = 0; x < vak.length; x++) {
System.out.println("Wat is je Cijfer voor " + vak[x] + "?");
Cijfer[x] = input.nextDouble();
System.out.println("Voor het vak " + vak[x] + "heb je als cijfer ingevuld " + Cijfer[x]);
}
}
public void Checkscore() {
for (int x = 0; x < vak.length; x++) {
if (Cijfer[x] >= voldoende) {
System.out.println("vak:" + vak[x] + "\t\t\t\t Cijfer: " + Cijfer[x] + "ECTS behaald: " + ECTS[x]);
} else {
System.out.println("vak:" + vak[x] + "\t\t\t\t Cijfer: " + Cijfer[x] + "ECTS behaald: 0");
}
}
}
public void BAS() {
totaalECTS = IntStream.of(ECTS).sum();
if (totaalECTS < (totaalECTS * (5/6))) {
System.out.println("PAS OP!!: Je ligt op schema voor een BAS!");
} else {
System.out.println("Gefeliciteerd!!: Je bent op weg naar je Propodeuse!!");
}
}
/**
* @return the aantalvakken
*/
public int getAantalvakken() {
return aantalvakken;
}
/**
* @param aantalvakken the aantalvakken to set
*/
public void setAantalvakken(int aantalvakken) {
this.aantalvakken = aantalvakken;
}
}
和我得到這一段代碼來運行它:
public class Run {
/**
*
* @author JasperF
* @param args
*/
public static void main(String[] args) {
ECTSMonitor mon = new ECTSMonitor();
mon.setSubjects();
mon.setCijfer();
mon.Checkscore();
mon.BAS();
}
}
現在在第一代碼,所述陣列的lenght被設定由變量'aantalvakken', ,但是當我運行我的程序,並打印te數組的長度它說0. 0.
如何設置變量aantalvakken設置數組長度
請不要指點硬編碼。 – 2014-12-05 13:02:26