Stránka 1 z 1

Java operátory pro objekty

Napsal: 19 lis 2013 20:46
od ClearSky
Ahoj, pomohl by mi někdo?
Mám úlohu:
Napiš program, který si náhodně vygeneruje číslo od 1 do 100. Uživatel číslo hádá. Je vždy dotázán a program odpoví jestli je odhad větší, menší nebo roven hádanému číslu. Hádání se opakuje dokud uživatel číslo neuhodne.


Zatím mám toto:

Kód: Vybrat vše

package domaciukol;

import java.util.Random;
import java.util.Scanner;

public class DomaciUkol {
       
    public static void main(String[] args) {
       Random random = new Random();
       int nahodneCislo = random.nextInt(101);
       
       Scanner zadej = new Scanner(System.in);
       String zadani;
       System.out.println("Zadejte cislo: ");
       zadani = zadej.nextLine();
       
       if (zadani mensi, vetsi... nahodneCislo){
           System.out.println("špatně");
       } else {
           System.out.println("dobře");
        }
    }
}   



Jelikož jsme ještě ve škole objekty nedělali, ale já už to mám takhle napsaný, jaké operátory se použivají pro porovnávání objektů?

Díky.

Re: Java operátory pro objekty

Napsal: 19 lis 2013 20:48
od domitea
<, >, <=, =>, !=, ==, myslím, že Java bere i <>. Pak tu jsou ještě || a &&.

Strýček Google odpoví, co pod sebou skrývají :wink:

Re: Java operátory pro objekty

Napsal: 19 lis 2013 20:57
od ClearSky
tyto jsem zkoušel, ale píše to chybu:
bad operand types for binary operator '<'
first type: int
second type: java.util.Scanner


Google poradil něco o CompareTo, ale do toho se zatím nechci pouštět

Re: Java operátory pro objekty

Napsal: 19 lis 2013 21:11
od CZechBoY

Kód: Vybrat vše

if (5 > 3) {5 je větší jak 3} else {bug or feature?}

Re: Java operátory pro objekty

Napsal: 19 lis 2013 21:23
od ClearSky
já bych ale potřeboval zapsat nahodneCislo < zadani (je to v tom kódu nahoře) a tam mi to vypisuje tu chybu

Re: Java operátory pro objekty

Napsal: 19 lis 2013 21:37
od CZechBoY
No a jakej je teda ten nefunkční kod?
Porovnávej číslo s číslem a ne se scannerem

Re: Java operátory pro objekty

Napsal: 19 lis 2013 22:01
od ClearSky
kod je to tento:

package domaciukol;

import java.util.Random;
import java.util.Scanner;

public class DomaciUkol {

public static void main(String[] args) {
Random random = new Random();
int nahodneCislo = random.nextInt(101);

Scanner zadej = new Scanner(System.in);
String zadani;
System.out.println("Zadejte cislo: ");
zadani = zadej.nextLine();

if (zadani mensi, vetsi... nahodneCislo){
System.out.println("špatně");
} else {
System.out.println("dobře");
}
}
}

a jak mám tedy porovnat to náhodné číslo s tím zadaným do scanneru?

Re: Java operátory pro objekty

Napsal: 19 lis 2013 22:04
od CZechBoY
já v tom kodu žádný porovnání nevidim...

Re: Java operátory pro objekty

Napsal: 19 lis 2013 22:07
od domitea

Kód: Vybrat vše

if (Integer.valueOf(zadani) != random){
System.out.println("špatně");
} else {
System.out.println("dobře");
}


Mělo by to jet, nemám to odzkoušené.

Re: Java operátory pro objekty

Napsal: 19 lis 2013 22:10
od CZechBoY
domitea: místo random spíš nahodneCislo ;)

Javu neumím, nikdy jsem v ní nedělal, tak se mohu mýlit.

Re: Java operátory pro objekty

Napsal: 20 lis 2013 08:05
od domitea
Díky za připomínku. Místo random tam má být nahodneCislo