Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Java] Zgadywanie wylosowanych liczb w kilku próbach i sprawdzanie imienia

Ostatnio zmodyfikowano 2015-04-02 12:29
Autor Wiadomość
Krzycho92
Temat założony przez niniejszego użytkownika
[Java] Zgadywanie wylosowanych liczb w kilku próbach i sprawdzanie imienia
» 2015-04-01 09:32:03
Chcę napisać program, który wylosuje int'a z przedziału 1-100. Potem użytkownik będzie zgadywał w 5 próbach, która to liczba. Jednak już przy dodawaniu funkcji losowania pojawia się problem z importem bibliotek i złym formułowaniem funkcji. Komputer domyślnie losuje od 0, więc jeśli chcę 1-100, to muszę zapisać 100+1, tak? W C++ to działało, tu nie. Poza tym, nie wiem dlaczego mi podkreśla paczkę "import java.lang.Math" i twierdzi, że jest ona niepoprawna. Teoretycznie powinno się postawić gwiazdkę zamiast "Math", ale z tym też nie działa. Dodam, że Javę zainstalowałem domyślnie w "C:\Program Files\Java", zaś projekty tworzę na dysku D:.


import java.lang.Math;
import java.util.Scanner;

//package zgadywanka;


public class Zgadywanka {

  
    public static void main(String[] args) {
        int x;
        Math.random()%100+1;
       
        System.out.println(Math.random());
        System.out.println("Wprowadz liczbe: ");
        Scanner skaner=new Scanner (System.in);
        int i=skaner.nextInt();
       
       
    }
   
}
P-129717
Monika90
» 2015-04-01 12:02:43
Math.random() zwraca double z przedzału od 0 do 1, więc %100+1 nie ma sensu w ogóle. Użyj metody nextInt(int) z klasy java.util.Random
P-129751
Krzycho92
Temat założony przez niniejszego użytkownika
» 2015-04-02 12:29:35
Losowanie działa, wprowadzanie liczb też. Tylko nie wiem teraz dlaczego program nie wykrywa żeńskich imion - czy wpiszę imię/wyraz kończący się na 'a' czy na inną literę, to i tak program twierdzi, że to imię meskie. Czy funkcja sprawdzająca ostatnią literę jest zła?

import java.util.*;

//package zgadywanka;

public class Zgadywanka {
  
    public static void main(String[] args) {
        System.out.println("Program wylosuje liczbe z przedzialu 1-100... Odgadnij tą liczbę - masz 5 prób.");
        System.out.println("Zanim zaczniemy, podaj Twoje imie: ");
        Scanner skaner=new Scanner (System.in);
        String imie =skaner.nextLine();
        Random losowa = new Random();
        int l = losowa.nextInt(100)+1;
       
        //System.out.println(l);
       
        if (imie.length()-1=='a') System.out.println("Jestes kobieta");
        else System.out.println("Jestes mezczyzna");
       
        for (int proba=1; proba<=5; proba++)
        {
            System.out.println("Wprowadz liczbe: "+"Proba: "+proba);
            int i=skaner.nextInt();
            if (i==l)
            {
                System.out.println("Brawo, trafiles!");
                break;
            }
            else if (i>l) System.out.println ("Za duzo");
            else if (i<l) System.out.println ("Za malo"); 
            if (proba==5) System.out.println("Przegrales!");
        }
    }
}

(EDIT)
Naprawione:
if (imie.charAt(imie.length()-1)=='a')
Temat można zamknąć.
P-129900
« 1 »
  Strona 1 z 1