Witam,
mam problem z dwoma zadaniami i za nic nie mogę dojść do ich poprawnego rozwiązania więc uznałem że zapytam bardziej doświadczonych osób.
Zadanie numer 3 zupełnie mi nie idzie a w zadaniu numer 4 mam problem z porównaniem dwóch tablic przy ich posortowaniu. Tablice jednowymiarowe normalnie mogłem porównać znakami większy/mniejszy, ale dwuwymiarowych już się tak porównywać nie da. Próbowałem w pewien sposób przypisać dwie tablice jednowymiarowe do jednej dwuwymiarowej i wtedy posortować z pozytywnym skutkiem aczkolwiek leci to tak że jedna tablica idzie przez swoją całość i wtedy druga przez co druga mi się sortuje w połowie (1, 2, 3, 4, 1, 2, 3, 4).
Tematy które przerobiłem i dzięki którym mam to zrobić: deklaracje zmiennych, operacje bitowe, instrukcje warunkowe, pętle oraz tablice. Kodu nie wrzucam bo i tak trzeba zacząć od początku. Treść zadania:
Tablica char do zadania trzeciego:
char[][] tab = {
{'S', 'a', 'm', 's', 'u', 'n', 'g'},
{'N', 'o', 'k', 'i', 'a'},
{'A', 'p', 'p', 'l', 'e'},
{'B', 'l', 'a', 'c', 'k', 'B', 'e', 'r', 'r', 'y'},
{'A', 'l', 'c', 'a', 't', 'e', 'l'},
{'S', 'o', 'n', 'y'},
{'J', 'o', 'l', 'l', 'a'}
};
0
2
for(int i = 0; i< tab.length; i++){
final String s = new String(tab[i]);
System.out.println("1: "+(s.toLowerCase().chars().distinct().count() == s.length()));
System.out.println("2: "+(s.chars().sum() > 255));
System.out.println("3: "+(s.chars().anyMatch(c -> 'i' == c)));
//... keep going...
}
1
Masz szkielet z początkiem, kombinuj dalej ;)
public class Main {
public static void main(String[] args) {
char[][] tab = {
{'S', 'a', 'm', 's', 'u', 'n', 'g'},
{'N', 'o', 'k', 'i', 'a'},
{'A', 'p', 'p', 'l', 'e'},
{'B', 'l', 'a', 'c', 'k', 'B', 'e', 'r', 'r', 'y'},
{'A', 'l', 'c', 'a', 't', 'e', 'l'},
{'S', 'o', 'n', 'y'},
{'J', 'o', 'l', 'l', 'a'}
};
for(int i = 0; i< tab.length; i++){
char[] line = tab[i];
int conditionsMet = 0;
if(hasDuplicates(line)) conditionsMet++;
if(sumOfChars(line)> 255) conditionsMet++;
if(containsChar(line, 'i')) conditionsMet++;
if(conditionsMet>=3){
System.out.println(new String(line));
}
}
}
private static boolean hasDuplicates(char[] line) {
return false;
}
private static boolean containsChar(char[] line, char character) {
return false;
}
private static int sumOfChars(char[] line) {
return 0;
}
private static boolean hasDuplicatesIgnoreCase(char[] line) {
return false;
}
}