Hi,
can anyone tell me why the test fails at "Read 10 Words from the keybord and add it to to a list". I read 10 Strings from the keyboard and save them in a ArrayList and upon that I do my checking. So that it seems to work at least for me. Can anyone help me or just give me a suggestion, at which part I should take a closer look.
Best Regards
Steffen
P.S.: Sorry for my bad english. I'm not a native english speaker.
package de.codegym.task.task07.task0718;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
//import java.util.Collections;
/*
Reihenfolge überprüfen
*/
public class Solution {
public static void main(String[] args) throws IOException {
//schreib hier deinen Code
Solution help = new Solution();
ArrayList<String> input = new ArrayList<String>(1);
boolean ordered = false;
//ArrayList<Integer> length = new ArrayList<Integer>(1);
String tmp = "";
boolean debug = false;
//Input
if(debug) System.out.println("readFromConsole started");
try{
input = help.readFromConsole(debug);
}
catch(Exception e){
System.out.println("Error beim Einlessen");
}
if(debug) System.out.println("readFromConsole finished");
//ordering
if(debug) System.out.println("check if orderedAufsteigend started");
ordered = help.checkifordered(input, debug);
if(debug) System.out.println("check if orderedAufsteigend finished with result: " + ordered + ".");
//output
}
public ArrayList<String> readFromConsole(boolean debug) throws Exception{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
ArrayList<String> input = new ArrayList<String>(1);
String tmp;
int index = 0;
/*
while(index < 10){
try{
tmp = in.readLine();
if(debug){
System.out.println("tmp: " + tmp);
}
}
catch (Exception e){
break;
}
if(tmp == null|| index >= 10){
break;
}
input.add(tmp);
if(debug){
System.out.println("added: " + tmp + " to the input ArrayList");
}
index++;
}
*/
for(int i = 0;i < 10; i++){
tmp = in.readLine();
if(debug){
System.out.println("tmp: " + tmp);
}
if(tmp == null){
System.out.println("Fehler beim Einlesen!");
//break;
//throw Exception("Fehler beim Einlesen");;
}
/*
if(tmp == null|| index >= 10){
break;
}
*/
input.add(tmp);
if(debug){
System.out.println("added: " + tmp + " to the input ArrayList");
}
index++;
}
return input;
}
public boolean checkifordered(ArrayList<String> order, boolean debug){
for(int i = 0; i < order.size()-1; i++){
if(order.get(i+1).length() < order.get(i).length()){
if(debug){
System.out.println("i: " + order.get(i));
System.out.println("i+1: " + order.get(i+1));
}
System.out.println(i+1);
return false;
}
}
return true;
}
}