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

Porównanie ze string`iem podanym przez użytkownika

VPS Starter Arubacloud
0 głosów
353 wizyt
pytanie zadane 6 lipca 2016 w Java przez Jonki Dyskutant (8,180 p.)
edycja 6 lipca 2016 przez Jonki

Użytkownik musi podać, czy chce powtórzyć wpisanie czy nie Y/N. Jednak cokolwiek bym wpisał, pojawia się "Nie rozpoznano polecenia!". Nie wiem o co chodzi. W C++ normalnie by to przeszło.

import java.util.Scanner;

public class PierwszyProgram
{
	static private String napis, odpowiedz;
	static int count = 0;
	
	static Scanner input = new Scanner(System.in);
	
	public void showSTATEMENT()
	{
		System.out.print("Jaki chcesz wyswietlic napis?: ");
	}
	
	public void getNAPIS()
	{	
		napis = input.nextLine();
	}
	
	public void showNAPIS()
	{
		System.out.println("Napis: " + napis);
	}
	
	public static void main(String[] args)
	{
		PierwszyProgram program = new PierwszyProgram();
		
		while(true)
		{
			program.showSTATEMENT();
			program.getNAPIS();
			program.showNAPIS();
			
			while(true)
			{
				System.out.println("");
				System.out.println("");
				System.out.println("Czy chcesz ponownie podac napis do wyswietlenia? Y/N: ");
				
				odpowiedz = input.nextLine();
					
				if(odpowiedz == "Y" || odpowiedz == "y")
					{break;}
				else if(odpowiedz == "N" || odpowiedz == "n")
				{
					count++;
					break;
				}
				else
					System.out.println("Nie rozpoznano polecenia!");
			}
			
			if(count == 1)
				break;
			
			System.out.println("");
			System.out.println("");
		}

		System.out.println("KONIEC PROGRAMU!");
	}
}

A tak z innej beczki, to w jaki sposób wpisuje się do zmiennej typu 'char', bo nigdzie nie mogę znaleźć. Wtedy mógłbym zmiennej"odpowiedz' przydzielić typ char. Chodzi o to: nextLine(), co wpisać zamiast Line;

1 odpowiedź

+1 głos
odpowiedź 6 lipca 2016 przez Yiome Obywatel (1,000 p.)
wybrane 6 lipca 2016 przez Jonki
 
Najlepsza

Do porównywania Stringów użyj metody equals.

tak będzie wyglądał kawałek kodu od lini 43 

if(odpowiedz.equals("Y") || odpowiedz.equals("y"))
                    {
                	break;
                	}
                else if(odpowiedz.equals("N") || odpowiedz.equals("n"))
                {
                    count++;
                    break;
                }

A tu powód: http://javastart.pl/static/efektywne/javatraps-001-odpowiedz/

komentarz 6 lipca 2016 przez Jonki Dyskutant (8,180 p.)

Dzięki, działa.

A wiesz jak zmodyfikować ten kododpowiedz = input.nextLine(); aby można było podać znak char?

komentarz 2 sierpnia 2016 przez K0XM4N Gaduła (3,640 p.)

Miesiąc temu ale zawsze coś ;)
Spróbuj otworzyć nową zmienną char i ze stringa wyciągnać pierwszy znak w ten sposób:
 

odpowiedz = input.next();
char sign = odpowiedz.charAt(0); // 0 indeks Stringa

 

Podobne pytania

0 głosów
1 odpowiedź 1,252 wizyt
0 głosów
2 odpowiedzi 274 wizyt
pytanie zadane 21 czerwca 2016 w Java przez windsmasher Nowicjusz (170 p.)
0 głosów
1 odpowiedź 2,017 wizyt
pytanie zadane 18 listopada 2019 w Python przez lijke Nowicjusz (170 p.)

93,023 zapytań

141,986 odpowiedzi

321,288 komentarzy

62,369 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

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...