Java ei ole vahvin alueeni, kuten koodista varmaan huomaa.
----------------------------------------------------------
import java.io.*; public class testi { public static void main(String[] args) { String vastaus; int a,b; BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); try { a = 2; b = 5; System.out.print("Anna merkkijono: "); vastaus = in.readLine(); System.out.println(vastaus); if (a == vastaus) { System.out.println("oikein"); } else { System.out.println("vaarin"); } } catch (Exception e) { System.out.println("Virhe"); } } }
---------------------------------------------------------
Eli tossa if lauseessa tulee virhe: operator == cannot be applied to int,java.lang.String
Mutta jos tossa if lauseessa olisi a == b, niin se toimii.
Eli IF lause ei tykkää käsitellä stringejä, miten ton pystyy korjaamaan?
Et pysty vertailemaan kahta täysin erilaista muuttujatyyppiä (string (merkkijono), int (kokonaisluku)). Muunna ensin string kokonaisluvuksi ja suorita vertailu sitten.
Muunnos suoritetaan Integer-luokalla:
if(a == Integer.parseInt(vastaus)){...
Tuo parseInt nostaa kuitenkin poikkeuksen, mikäli sille syötettävä merkkijono ei sisällä lukua.
Joo nyt toimii. Kiitos
Aihe on jo aika vanha, joten et voi enää vastata siihen.