Знаю можно короче, но вот просто интересно, что в этом коде не так, что валидатор его не воспринимает???
Какие и как только я не вводил строки, все согласно условиям + не выполняется первое условие.
public class Solution {
private static ArrayList<String> strings = new ArrayList<String>();
private static String max = "";
private static String min = "";
private static int intMin = Integer.MAX_VALUE;
public static void main(String[] args) throws IOException {
BufferedReader read = new BufferedReader(new InputStreamReader(System.in));
for (int i=0 ; i<10 ; i++){ //считываем с клавиатуры
String s = read.readLine();
strings.add(s);
}
if (getIndexOfMax()>getIndexOfMin()) //чей индекс меньше то и выводим на экран
System.out.println(strings.get(getIndexOfMin()));
else
System.out.println(strings.get(getIndexOfMax()));
}
public static int getIndexOfMax(){ // находим индекс самой длинной строки
for (int j=0;j<strings.size(); j++){
if (max.length()<strings.get(j).length())
max=strings.get(j);
}
return (strings.indexOf(max));
}
public static int getIndexOfMin(){ //находим индекс самой короткой строки
for(int x = 0; x < strings.size(); x++){
int t = strings.get(x).length();
if(t < intMin){
intMin = t;
}
}
for(int x = 0; x < strings.size(); x++){
if(intMin == strings.get(x).length()){
min = strings.get(x);
}
}
return strings.indexOf(min);
}
}
package com.javarush.task.task07.task0712;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
/*
Самые-самые
*/
public class Solution {
private static ArrayList<String> strings = new ArrayList<String>();
private static String max = "";
private static String min = "";
private static int intMin = Integer.MAX_VALUE;
public static void main(String[] args) throws IOException {
BufferedReader read = new BufferedReader(new InputStreamReader(System.in));
for (int i=0 ; i<10 ; i++){ //считываем с клавиатуры
String s = read.readLine();
strings.add(s);
}
if (getIndexOfMax()>getIndexOfMin()) //чей индекс меньше то и выводим на экран
System.out.println(strings.get(getIndexOfMin()));
else
System.out.println(strings.get(getIndexOfMax()));
}
public static int getIndexOfMax(){ // находим индекс самой длинной строки
for (int j=0;j<strings.size(); j++){
if (max.length()<strings.get(j).length())
max=strings.get(j);
}
return (strings.indexOf(max));
}
public static int getIndexOfMin(){ //находим индекс самой короткой строки
for(int x = 0; x < strings.size(); x++){
int t = strings.get(x).length();
if(t < intMin){
intMin = t;
}
}
for(int x = 0; x < strings.size(); x++){
if(intMin == strings.get(x).length()){
min = strings.get(x);
}
}
return strings.indexOf(min);
}
}