0
I am doing a job for the college that consists of creating an immovable array based on some rules that are provided by txt. The code gives error and do not know what is occurring.
A detail that when I comment on the line valor = Integer.parseInt(parts[contvetor]);
works normal. But the variable contvetor
is stated, so I don’t know what’s going on.
I need to run this string array converting to go using the values in the code and create the real estate bank board.
try {
StringBuilder sb = new StringBuilder();
String line = br.readLine();
while(line!=null){
sb.append(line);
sb.append(System.lineSeparator());
line = br.readLine();
//System.out.println(line);
}
String everything = sb.toString();
//System.out.println(everything);
String[] parts = everything.split(";");
//System.out.println(parts[8]);
valor = Integer.parseInt(parts[0]);
valorinicial = Integer.parseInt(parts[0]); //variavel valor recebe o inteiro convertido do txt
// int[] idades = new int[valor]; //define o tamnho do vetor
ArrayList<Imovel> vetor = new ArrayList<Imovel>();
for(int cont=0;cont<valorinicial;cont++){ //estrutura de repeticao que inicia o tabuleiro
if(cont==0){
ClubeSocial start = new ClubeSocial(); //clubesocial eh a classe start
start.setstart(); //isso faz com que os 4 primeiros valores lidos no arquivos ja tenham sido utilizados parts[0-3]
vetor.add(start);
contvetor = 4;
valor = Integer.parseInt(parts[contvetor]);
}
for(int cont2=0;cont2<6;cont2++){
if(cont2==0 || cont2==1){ //nao preciso da id e nao preciso da casa, porque o for ja faz isso, entao desconsidero as 2
cont2++;
contvetor++;
}
//abaixo olhamos valor casa para ver se cai 2 ou 3 [passe a vez ou add imovel]
if(valor==2){ //adiciona um passe a vez e faz cont2 ficar maior que 5 para que termine essa linha de instrucao e comece a prox
passeavez pass = new passeavez();
pass.setpass();
vetor.add(pass);
cont2 = 6;
contvetor++;
}
else{ //no caso o valor é 3 que é pra add imovel
cont2++; //incrementa o valor do contador para pegar o 4ª valor dos 6 da linha
if(valor == 1){
Residencia residencia = new Residencia();
cont2++;
contvetor++; //incrementa o valor do contador para pegar o 5ª valor dos 6 da linha
residencia.setPreco(valor);
cont2++;
contvetor++;//incrementa o valor do contador para pegar o 6ª valor dos 6 da linha
residencia.setAluguel(valor);
vetor.add(residencia);
cont2 = 6;
}
else if(valor == 2){
Comercio comercio = new Comercio();
cont2++;
contvetor++;//incrementa o valor do contador para pegar o 5ª valor dos 6 da linha
comercio.setPreco(valor);
cont2++;
contvetor++;//incrementa o valor do contador para pegar o 6ª valor dos 6 da linha
comercio.setAluguel(valor);
vetor.add(comercio);
cont2 = 6;
}
else if(valor == 3){
Industria industria = new Industria();
cont2++;
contvetor++;//incrementa o valor do contador para pegar o 5ª valor dos 6 da linha
industria.setPreco(valor);
cont2++;
contvetor++;//incrementa o valor do contador para pegar o 6ª valor dos 6 da linha
industria.setAluguel(valor);
vetor.add(industria);
cont2 = 6;
}
else if(valor == 4){
Hotel hotel = new Hotel();
cont2++;
contvetor++;//incrementa o valor do contador para pegar o 5ª valor dos 6 da linha
hotel.setPreco(valor);
cont2++;
contvetor++;//incrementa o valor do contador para pegar o 6ª valor dos 6 da linha
hotel.setAluguel(valor);
vetor.add(hotel);
cont2 = 6;
}
else if(valor == 5){
Hospital hospital = new Hospital();
cont2++;
contvetor++;//incrementa o valor do contador para pegar o 5ª valor dos 6 da linha
hospital.setPreco(valor);
cont2++;
contvetor++;//incrementa o valor do contador para pegar o 6ª valor dos 6 da linha
hospital.setAluguel(valor);
vetor.add(hospital);
cont2 = 6;
}
}
}
}
System.out.println("pqp" + valor);
} catch (IOException ioe) {
ioe.printStackTrace();
}
finally{
//br.close();
}
}
}
Error below:
Exception in thread "main" java.lang.NumberFormatException: For input string: " 2" at java.lang.NumberFormatException.forInputString(Unknown Source) at java.lang.Integer.parseInt(Unknown Source) at java.lang.Integer.parseInt(Unknown Source) at jogo.main.main(main.java:45)
The problem is not the quotation mark? Try to replace " to empty
– Sorack
What
parts[contvetor]
returns? No empty space there?– user28595
The problem seems to be the
\n
before 2– Jefferson Quesado