Losowanie liter a-z zamiana char na int

0

Witam!

Chciałbym napisać program, który losuje literę z zakresu a-z i użytkownik próbuje ja odgadnąć. Jeśli jest mniejsza bądź większą lub odgadnie zostaje poinformowany. Jak mam pobrać literę jako znak i potem ją zamienić na int aby można było sprawdzić czy zgadliśmy liczbę.

 
  wejscieLiczby = new JTextField(8);
  panel.add(wejscieLiczby);

  private JTextField wejscieLiczby;

  Random rand = new Random();
  int literapocz = rand.nextInt(122);
  int litera = literapocz + 97;

    private class Zamiana implements ActionListener 
    {
       public void actionPerformed(ActionEvent zdarzenie)
       {   
           if(  Integer.parseInt(wejscieLiczby.getText())==litera)
            {
                wyjscieKomunikatow.setText("ODGADŁEŚ LITERĘ !!!");    
            }
            else if (Integer.parseInt(wejscieLiczby.getText())>litera)
            {
                wyjscieKomunikatow.setText("PODAŁEŚ WIĘKSZĄ LITERĘ !!!");            
            }
            else if (Integer.parseInt(wejscieLiczby.getText())<litera)
            {
                wyjscieKomunikatow.setText("PODAŁEŚ MNIEJSZĄ LITERĘ !!!");
            }
       }
    }
0

Pierwsze pytanie powinno być, czy istnieje coś takiego, jak "większa litera" :P

0

to jest dla mnie nie istotne na razie, walidacją danych zajmę się później zakładam, że można wpisać tylko a-z (małe litery)

0

Wydaje mi się, że nieprawidłowo masz ustawione losowanie litery z zakresu a-z. W konsoli bym to tak zrobił:

import java.io.*;
import java.util.*;

public class Los {
	public static void main(String[] args) throws IOException{
		Random rand = new Random();
		char los = (char)(rand.nextInt(26)+97);
		char odp = 0;
		
		while(odp!=los)
		{
		System.out.print("Podaj literę: ");
		Scanner sc = new Scanner(System.in);
		odp = sc.nextLine().charAt(0); 
		
		if(odp<los)
			System.out.println("Podaj późniejszą literę");
		else if(odp>los)
			System.out.println("Podaj wcześniejszą literę");
		else if(odp==los)
			System.out.println("TRAFIŁEŚ!!!");
		}
		System.out.println("Wylosowana litera: "+los);
	}

}

A w przypadku interfejsu graficznego, pobranie z pola tekstowego jednego char'a do zmiennej odp typu char wyglądałoby tak:
odp = wejscieLiczby.getText().charAt(0);

0

dzięki!

1 użytkowników online, w tym zalogowanych: 0, gości: 1