Trzecia prezentacja do kursu „Wstęp do programowania”.
Treść: Przykład procesu tworzenia programu, schematy blokowe, instrukcje wyboru, operator warunkowy, porównanie łańcuchów znaków.
Ta strona jest częścią starego kursu Javy. Nowy kurs, pt. “Programowanie w Javie z elementami bioinformatyki dla poczatkujących”, jest znacznie rozszerzony i dostosowany fo Javy 8. Jego forma jest także znacznie bardziej przystępna dla korzystających wyłącznie z treści on-line. Dostępne materiały znajdziesz tutaj.
Kody źródłowe
Porównanie łańcuchów znaków (tekstu)
public class PorownanieTekstu { public static void main(String[] args) { // Porównywanie łańcuchów znaków (tekstu) z uwzględnieniem wielkości liter. String tekst = "kot"; System.out.println("tekst.equals() kot: "+tekst.equals("kot")); System.out.println("tekst.equals() pies: "+tekst.equals("pies")); System.out.println("tekst.equals() KOT: "+tekst.equals("KOT")); // Porównywanie łańcuchów znaków (tekstu) z ignorowaniem wielkości liter. System.out.println("tekst.equalsIgnoreCase() kot: "+tekst.equalsIgnoreCase("kot")); System.out.println("tekst.equalsIgnoreCase() pies: "+tekst.equalsIgnoreCase("pies")); System.out.println("tekst.equalsIgnoreCase() KOT: "+tekst.equalsIgnoreCase("KOT")); } }
Rozpoznawanie płci po chromosomach płciowych – wersja 1
import java.util.Scanner; public class ChromosomyPlciVer1 { public static void main(String[] args) { //Prosta identyfikacja płci po kariotypie // tworzymy obiekt typu Scanner Scanner skaner = new Scanner(System.in); System.out.print("Podaj kariotyp: "); //Pobieramy kariotyp z klawiatury String kariotyp = skaner.nextLine(); // Sprawdź czy kariotyp to "XY" if (kariotyp.equalsIgnoreCase("XY")) { // jeśli tak to wydrukuj "Samiec" System.out.println("Samiec"); } // jeśli powyższy warunek nie został spełniony to sprawdź czy kariotyp to "XX" else if (kariotyp.equalsIgnoreCase("XX")) { // jeśli tak to wydrukuj "Samiec" System.out.println("Samica"); } // jeśli powyższy warunek nie został spełniony to... else { // ... wydrukuj "???" System.out.println("???"); } System.out.println("KONIEC"); } }
Przykład zastosowania instrukcji switch
import java.util.Scanner; public class Oceny { public static void main(String[] args) { Scanner skaner = new Scanner(System.in); System.out.print("Podaj ocenę: "); String ocena = skaner.nextLine(); int ocenaLiczba = Integer.parseInt(ocena); switch (ocenaLiczba) { case 5 : System.out.println("Bardzo dobry"); break; case 4 : System.out.println("Dobry"); break; case 3 : System.out.println("Dostateczny"); break; case 2 : System.out.println("Niedostateczny"); break; default : System.out.println("Jakaś dziwna ocena!"); } } }
Przykład zastosowania instrukcji switch z łańcuchem znaków (konieczna Java 7 lub nowsza)
import java.util.Scanner; public class SwitchString { public static void main(String[] args) { Scanner skaner = new Scanner(System.in); System.out.print("Podaj kariotyp: "); String kariotyp = skaner.nextLine(); // zmieniamy wszystkie znaki na wielkie kariotyp = kariotyp.toUpperCase(); switch (kariotyp) { case "XX": System.out.println("Kariotyp "+kariotyp+" nalezy do samicy."); break; case "XY": System.out.println("Kariotyp "+kariotyp+" nalezy do samca."); break; default: System.out.println("???"); } } }
Zastosowanie operatora warunkowego (? :) i porównanie z instrukcją if … else
import java.util.Scanner; public class OperatorWarunkowy { public static void main(String[] args) { Scanner skaner = new Scanner(System.in); System.out.print("Podaj liczbę: "); String rodzajLiczby; String liczba = skaner.nextLine(); int liczbaInt = Integer.parseInt(liczba); // z zastosowaniem instrukcji if ... else if (liczbaInt%2 == 0) rodzajLiczby="parzysta"; else rodzajLiczby="nieparzysta"; System.out.println("Podana liczba ("+liczbaInt+") jest "+rodzajLiczby); // z zastosowaniem operatora warunkowego rodzajLiczby = (liczbaInt%2 == 0 ? "parzysta" : "nieparzysta"); System.out.println("Podana liczba ("+liczbaInt+") jest "+rodzajLiczby); // z zastosowaniem operatora warunkowego - wersja w 1 linijce System.out.println("Podana liczba ("+liczbaInt+") jest "+(liczbaInt%2 == 0 ? "parzysta" : "nieparzysta")); } }
Czemu przy programie z kariotypem wyświetla mi błąd: Cannot switch on a value of type String for source level below 1.7. Only convertible int values or enum variables are permitted
Tego typu błąd pojawia się jeśli instrukcję „switch” ze String-iem stosuje się w Javie w wersji 6 lub niższej. „Switch” obsługuje łańcuchy znaków od wersji 7.
Przypuszczalnie masz zainstalowaną Javę 6.