Je veux savoir comment je peux faire fonctionner un programme qui prend les arguments de ligne de commande sans argument de ligne de commande.ArrayIndexOutOfBoundsException lors du saut de l'argument de ligne de commande
C'est la dernière fois que j'ai besoin d'aide avec else if
. Comment puis-je accomplir ce que j'essaie de faire ici?
P.S Je n'ai pas trouvé de réponse à cela en lisant les réponses sur le post c'est un "duplicata possible" de.
Voici mon code:
import java.util.Scanner;
import java.io.File;
import java.util.ArrayList;
class LesInformasjon{
public static void main(String[]args) throws Exception{
Scanner fil = new Scanner(new File("informasjon.txt"));
ArrayList<Bil> biler = new ArrayList<>();
while(fil.hasNextLine()){
String line = fil.nextLine();
String ord[] = line.split(" ");
String bilType = ord[0];
String kjennemerke = ord[1];
Bil bil = null;
//Tester typen bil, lager bil og setter inn i ArrayList
if(bilType.equals("EL")){
double batteriKapasitet = Double.parseDouble(ord[2]);
bil = new Elbil(kjennemerke, bilType, batteriKapasitet);
}else if(bilType.equals("LASTEBIL")){
double utslipp = Double.parseDouble(ord[2]);
double nyttevekt = Double.parseDouble(ord[3]);
bil = new Lastebil(kjennemerke,bilType, utslipp, nyttevekt);
}else if(bilType.equals("PERSONBIL")){
double utslipp = Double.parseDouble(ord[2]);
int antGodkjenteSeter = Integer.parseInt(ord[3]);
bil = new Personbil(kjennemerke, bilType, utslipp, antGodkjenteSeter);
}
biler.add(bil);
}
if(args[0].equals("EL")){
for(Bil bil : biler){
if(bil instanceof Elbil){
//if(bil.bilType.equals("EL")){
System.out.println(bil);
System.out.println(" ");
}
}
//System.out.println("Print Elbiler");
}else if(args[0].equals("FOSSIL")){
for(Bil bil : biler){
if(bil instanceof Fossilbil){
//if(bil.bilType.equals("LASTEBIL") || bil.bilType.equals("PERSONBIL")){
System.out.println(bil);
System.out.println(" ");
}
}
}else if(args.length == 0){ //tried else if(args[0] == null as well
for(Bil bil : biler){
System.out.println(bil);
System.out.println(" ");
}
}
}
}
Si vous avez besoin d'autres classes, je peux vous donner ceux-ci. Cependant, ils ne sont pas nécessaires pour répondre à la question.
double possible de [Quelles sont les causes java.lang.ArrayIndexOutOfBoundsException et comment puis-je l'empêcher?] (Http: // stackoverflow .com/questions/5554734/quoi-provoque-un-java-lang-arrayindexoutofboundsexception-et-comment-faire-je-le-prévenir-it) – Maverick