Cześć,
W ramach nauki javy rozwiązuje małe zadanka, mam natomiast problem jednym z nich oto one:
package Zad4;
import java.util.Scanner;
public class Zad4 {
/*
* PObierz od usera napis i sprawdz czy składa sie z dokladnie dwoch
* wyrazow. Jezeli tak,to sprawdz czy pierwszy ma tylko same litery duze, a
* drugi napis ma tylko same litery male. Jezeli tak to wyswitl komunikat
* OK, nie nie to wyswietl NOT OK.
*/
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter a string: ");
String string = sc.nextLine();
sc.close();
System.out.println("-----------------");
y(stringCount(checkLength(string)), string);
}
public static int checkLength(String string) {
int word = 0;
char[] c = new char[string.length()];
for (int i = 0; i < string.length(); i++) {
c[i] = string.charAt(i);
if (((i > 0) && (c[i] != ' ') && (c[i - 1] == ' ')) || ((c[0] != ' ') && (i == 0)))
word++;
}
return word;
}
public static boolean stringCount(int word){
if(word == 2){
return true;
}
else{
return false;
}
}
public static void y (boolean next, String string){
String[] tab = string.split(" ");
if(next == true){
for(int i =0; i < tab.length; i++){
if(Character.isUpperCase(tab[0].charAt(i))
&& Character.isLowerCase(tab[1].charAt(i))){
System.out.println("OK");
}
else{
System.out.println("NOT OK is: " + tab[i]);
}
}
}
else{
System.out.println("Podałeś za dużo słów");
}
}
}
Błąd pole na tym że jak wpisze: Aaa bb lecą komunikaty- OK, NOT ok is: bb gdzie jest to dobrze, a kiedy wpisze AAA bb leci OK.
I mam jeszcze dodatkowe pytanie czy takie rozbijanie na funkcje jest to dobre podejście czy raczej za bardzo jest to rozbite ( na siłe ) ?