• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Po wyborze char zmiana na napis

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
0 głosów
145 wizyt
pytanie zadane 5 września 2016 w Java przez KamilloPL Gaduła (3,470 p.)

chciałbym uzyskć po kliknięciu z klawiatury M napis Mężczyzna w zapisie do pliku tekstowego.

ogólnie myślałem też czy nie lepszą opcją będzie lista? i wtedy po numerze kasowanie i edytowanie danego pracownika?

t

public class Main {
    public static void main(String args[])throws FileNotFoundException {
        for (;;) {
            Scanner scanner = new Scanner(System.in);
            System.out.println("*******  MENU ********* ");
            System.out.println("1. Wszyscy pracownicy");
            System.out.println("2. Dodaj pracownika");
            System.out.println("3. Eksport");
            System.out.println("4. Usuwanie pracownika");
            System.out.println("5. Edycja danych");
            System.out.println("6. Dodatkowe opcje");
            System.out.println("7. Dodatkowe opcje dla plikow tekstowych");
            System.out.println("8. Informacje o programie");
            System.out.println("9. Własna nazwa pliku");
            System.out.println("0. Koniec programu");
            int number = scanner.nextInt();
            switch (number) {
                case 1:

                    break;
                case 2:
                    File file = new File("pracownicy.txt");
                    Pracownicy pracownicy = new Pracownicy();
                    System.out.println("Podaj imie: ");
                    Scanner scanner1 = new Scanner(System.in);
                    pracownicy.setImie(scanner1.nextLine());
                    System.out.println("Podaj nazwisko: ");
                    pracownicy.setNazwisko(scanner1.nextLine());
                    System.out.println("Wybierz płeć: M/K");
                    pracownicy.setPlec(scanner1.next().charAt(0));
//                    if(pracownicy.getPlec()=='M'){
//                        System.out.print("Mężczyzna");
//                    }
//                    else{
//                    System.out.print("Kobieta");
//                    }
                    System.out.println("Podaj numer działu:");
                    pracownicy.setNumerDzialu(scanner.nextInt());
                    System.out.println("Podaj wynagrodzenie: ");
                    pracownicy.setPlaca(scanner.nextFloat());
                    System.out.println("Podaj wiek: ");
                    pracownicy.setWiek(scanner.nextInt());
                    System.out.println("Podaj liczbę dzieci: ");
                    pracownicy.setDzieci(scanner.nextInt());
                    System.out.println("Podaj stan cywilny: ");
                    System.out.println("Czy jesteś mężatką/żonaty: Tak/Nie");
                    pracownicy.setStanCywilny(scanner1.nextBoolean());
                    System.out.println("Zapisać nowego pracownika? Wpisz T/N (Tak lub Nie)");
                    char zapis = scanner1.next().charAt(0);
                    if(zapis == 'T'){
                        PrintWriter zapiss = new PrintWriter("pracownicy.txt");
                        zapiss.println("Imię: "+pracownicy.getImie()+ " nazwisko: "+ pracownicy.getNazwisko()+ " płeć "+pracownicy.getPlec());
                        zapiss.close();
                    }
                    else {
                        System.out.println("Dziękuje!");
                    }
                    break;

 

2 odpowiedzi

0 głosów
odpowiedź 5 września 2016 przez Rubeus024 Obywatel (1,680 p.)
Cześć,

Nie wiem, czy o to ddokładnie Tobie chodziło, ale zauważyłem inny problem. Operator == pracuje poprawnie tylko wtedy, gdy nasz String i porównywana litera,wyraz jest ulokowana w tym samym miejscu w pamięci. Jeżeli chcemy porównać ją pod względem logicznym, to lepiej użyć metody equals();

Tutaj znajduję się link dobrze opisujący problem:

http://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java
0 głosów
odpowiedź 5 września 2016 przez KamilloPL Gaduła (3,470 p.)
problem rozwiązany :

String plec = "";
if(pracownicy.getPlec() == 'K') {
	plec = "Kobieta";
} else {
	plec = "Mezczyzna";
}
zapiss.println("Imię: "+pracownicy.getImie()+ " nazwisko: "+ pracownicy.getNazwisko()+ " płeć "+ plec);

 

Podobne pytania

0 głosów
2 odpowiedzi 195 wizyt
pytanie zadane 2 listopada 2016 w Sprzęt komputerowy przez Zosia Nowicjusz (120 p.)
0 głosów
1 odpowiedź 419 wizyt
pytanie zadane 15 stycznia 2022 w Rozwój zawodowy, nauka, praca przez Duffid Nowicjusz (120 p.)
0 głosów
2 odpowiedzi 365 wizyt
pytanie zadane 21 listopada 2017 w Inne języki przez sapero Gaduła (4,100 p.)

93,434 zapytań

142,429 odpowiedzi

322,662 komentarzy

62,799 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

...