Commit fca6fcaf by Patryk Czarnik

pozostałe przykłady dot. "interakcji"

parent 99b56463
package p03_interakcja.argumenty;
/*
Gdy uruchamiamy jakiś program w systemowym wierszu poleceń,
możemy po jego nazwie podać dowolne napisy – argumenty programu.
java p03_interakcja.argumenty.Argumenty Jeden Dwa "Ala ma kota" Cztery
*/
public class Argumenty {
public static void main(String[] args) {
System.out.println("Liczba argumentów: " + args.length);
// System.out.println("Argument nr 1: " + args[1]);
for(String arg: args) {
System.out.println(arg);
}
}
}
package p03_interakcja.okna;
import javax.swing.JOptionPane;
/* Jednym ze sposobów komunikacji z użytkownikiem są okna dialogowe.
W Javie są one łatwe w użyciu (łatwiejsze niż pełnowartościowe aplikacje okienkowe),
korzysta się poprzez klasę JOptionPane.
Najważniejsze są trzy rodzaje okien dialogowych:
* showMessageDialog - tylko komunikat
* showInputDialog - pytanie i mozliwośc podania tekstowej odpowiedzi
* showConfirmDialog - pytanie i odpowiedź Yes/No/Cancel
*/
public class OknoDialogowe1 {
public static void main(String[] args) {
String imie = JOptionPane.showInputDialog("Jak masz na imię?");
JOptionPane.showMessageDialog(null, "Witaj " + imie);
}
}
package p03_interakcja.okna;
import javax.swing.JOptionPane;
public class OknoDialogowe2 {
public static void main(String[] args) {
String imie = JOptionPane.showInputDialog("Jak masz na imię?");
String wiekTekstowo = JOptionPane.showInputDialog("Ile masz lat, " + imie + "?");
int wiek = Integer.parseInt(wiekTekstowo);
if(wiek >= 18) {
JOptionPane.showMessageDialog(null, "Witaj " + imie + ", możesz kupić piwo :)");
} else {
JOptionPane.showMessageDialog(null, "Witaj " + imie + ", dla niepełnoletnich tylko cukierki...");
}
}
}
package p03_interakcja.okna;
import java.awt.HeadlessException;
import javax.swing.JOptionPane;
public class OknoDialogowe3 {
public static void main(String[] args) {
try {
String imie = JOptionPane.showInputDialog("Jak masz na imię?");
String wiekTekstowo = JOptionPane.showInputDialog("Ile masz lat, " + imie + "?");
int wiek = Integer.parseInt(wiekTekstowo);
if(wiek >= 18) {
JOptionPane.showMessageDialog(null, "Witaj " + imie + ", możesz kupić piwo :)");
} else {
JOptionPane.showMessageDialog(null, "Witaj " + imie + ", dla niepełnoletnich tylko cukierki...");
}
} catch(HeadlessException e) {
System.out.println("Brak interfejsu graficznego - nie pogadamy...");
} catch(NumberFormatException e) {
JOptionPane.showMessageDialog(null, "Nieprawidłowy format liczby", "Błąd", JOptionPane.ERROR_MESSAGE);
} catch(Exception e) {
JOptionPane.showMessageDialog(null, "Inny błąd " + e, "Błąd", JOptionPane.ERROR_MESSAGE);
}
}
}
package p03_interakcja.okna;
import java.time.LocalDateTime;
import javax.swing.JOptionPane;
public class RodzajeOkien {
public static void main(String[] args) {
JOptionPane.showMessageDialog(null, "To jest zwykły MessageDialog");
JOptionPane.showMessageDialog(null, "To jest MessageDialog typu WARNING", "Uwaga", JOptionPane.WARNING_MESSAGE);
// są też inne typy: PLAIN_MESSAGE, INFORMATION_MESSAGE, QUESTION_MESSAGE, WARNING_MESSAGE, ERROR_MESSAGE
String cos = JOptionPane.showInputDialog("To jest inputDialog.\nNapisz coś:");
String data = JOptionPane.showInputDialog("To jest inputDialog z początkową wartością.", LocalDateTime.now());
int wybor = JOptionPane.showConfirmDialog(null, "Czy chcesz " + cos + " o godzinie " + data + "?");
switch(wybor) {
case JOptionPane.YES_OPTION ->
JOptionPane.showMessageDialog(null, "TAK");
case JOptionPane.NO_OPTION ->
JOptionPane.showMessageDialog(null, "NO");
case JOptionPane.CANCEL_OPTION ->
JOptionPane.showMessageDialog(null, "Cancel");
}
}
}
......@@ -2,7 +2,7 @@ package p03_interakcja.skaner;
import java.util.Scanner;
public class Skaner1 {
public class C_Skaner1 {
public static void main(String[] args) {
// Scanner to jest obiekt, który pobiera dane ze wskazanego źródła i na żądanie zwraca kolejne elementy
......
package p03_interakcja.skaner;
import java.util.Scanner;
public class C_Skaner2_LiczbaCzyNieLiczba {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Napisz coś:");
if(sc.hasNextInt()) {
int liczba = sc.nextInt();
System.out.println("Wpisałeś int: " + liczba);
} else if(sc.hasNextDouble()) {
double liczba = sc.nextDouble();
System.out.println("Wpisałeś double: " + liczba);
} else {
String slowo = sc.next();
System.out.println("Wpisałeś tekst: " + slowo);
}
String reszta = sc.nextLine();
System.out.println("Reszta linii: " + reszta);
System.out.println("Reszta miała znaków: " + reszta.length());
}
}
package p03_interakcja.skaner;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
// Aby czytać wejście linia po linii, można użyć klas Scanner (inny przykład) lub BufferedReader (tutaj).
// Pośrednio potrzebna jest klasa InputStreamReader.
// Gdybyśmy chcieli podać własne kodowane znaków (inne niż systemowe), to wtedy:
// InputStreamReader isr = new InputStreamReader(System.in, "UTF-8");
public class D_BufRead {
public static void main(String[] args) {
try {
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
String wiersz;
while((wiersz = br.readLine()) != null) {
System.out.println("Napisałeś " + wiersz);
if("koniec".equalsIgnoreCase(wiersz))
break;
}
System.out.println("KONIEC");
} catch(IOException e) {
e.printStackTrace();
}
}
}
package p03_interakcja.skaner;
import java.io.Console;
import java.util.Arrays;
public class E_KlasaConsole {
public static void main(String[] args) {
System.out.println("Początek");
Console konsola = System.console();
System.out.println("System.console() = " + konsola);
if(konsola == null) {
System.out.println("Brak możliwości utworzenia konsoli.");
return;
}
String wiersz;
while((wiersz = konsola.readLine("> ")) != null) {
konsola.printf("Napisałeś %s %n", wiersz);
if("koniec".equals(wiersz))
break;
}
System.out.println("KONIEC");
char[] hasło = konsola.readPassword("Podaj tajne hasło: ");
konsola.printf("Hasło ma długość %d %n", hasło.length);
// "zamazuję" hasło w pamięci, żeby inne programy nie mogły go odczytać
Arrays.fill(hasło, 'X');
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment