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, botów: 0