Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Java: Syötettyjen lukujen kertolasku

toivotontapaus [19.09.2014 15:34:32]

#

Olen vasta aloittanut ohjelmoinnin opiskelun ja meille tuli heti kamala kasa harjoituksia. Mutta missään vaiheessa ei ole käyty läpi miten niitä oikein kuuluu tehdä.
Tällä hetkellä olen aivan jumissa tehtävässä, jossa pitää tehdä ohjema, joka laskee kahden annetun luvun tulon.
Voisiko joku auttaa ;( antaa jonkun esimerkin

olen selannut kaikki esimerkit läpi ja mutta mikään ei toimi

tässä on yksi esimerkki yrityksistäni

import java.util.Scanner;
public class kertolasku {
    public static void main (String [] args) {
        String kerrottava, kertoja;
        Scanner lukija = new Scanner(System.in);
        System.out.println("Anna kerrottava");
        kerrottava = lukija.nextLine();
        System.out.println("Anna kertoja");
        kertoja = lukija.nextLine();

        vastaus = kerrottava*kertoja;

        System.out.println(" +vastaus+ ")
    }
}

Mod. lisäsi kooditagit!

TuomasK [19.09.2014 16:01:31]

#

Voisit ainakin kertoa, antaako ohjelma jotain virheitä. Kooditagejakin olisi hyvä käyttää.

Tuossa rivillä vastaus = kerrottava*kertoja; nuo kerrottava ja kertoja ovat merkkijonoja, eivät numeroita. Oikea rivi olisi

vastaus = Integer.parseInt(kerrottava) * Integer.parseInt(kertoja);

tai ehkä hieman selkeämmin

kerrottava = Integer.parseInt(kerrottava);
kertoja = Integer.parseInt(kertoja);

vastaus = kerrottava * kertoja

Lisäksi tuo alin rivi jossa vastaus tulostetaan toimii noinkin, mutta omasta mielestäni parempi olisi

System.out.println(Integer.toString(vastaus))

toivotontapaus [19.09.2014 16:21:38]

#

import java.util.Scanner;
    public class kertolasku {
    public static void main (String [] args) {
        String kerrottava, kertoja;
        Scanner lukija = new Scanner(System.in);
        System.out.println("Anna kerrottava");
        kerrottava = lukija.nextLine();
        System.out.println("Anna kertoja");
        kertoja = lukija.nextLine();

        kerrottava = Integer.parseInt(kerrottava);
        kertoja = Integer.parseInt(kertoja);

        vastaus = kerrottava * kertoja;


        System.out.println(Integer.toString(vastaus));

    }
}

edelleen tulee huomioita kuten "int cannot be converted to strings"
ja cannot find symbol

en ymmärrä ollenkaan. Onko jossain jotain tutorialia miten tehdään lasku-ohjemia?

Mod. lisäsi kooditagit!

TuomasK [19.09.2014 16:41:53]

#

Anteeksi, neuvoin vahingossa väärin :( Tuo cannot find symbol johtuu siitä, ettet ole määrittänyt missään muuttujaa vastaus. Lisäksi muistin, että tuon lukija.nextLine(); rivin voi korvata lukija.nextInt(); niin saa suoraan kokonaisluvun merkkijonon sijaan. Korjattuna koodi menee

import java.util.Scanner;
public class kertolasku {
    public static void main (String [] args) {
        int kerrottava, kertoja, vastaus;

        Scanner lukija = new Scanner(System.in);
        System.out.println("Anna kerrottava");
        kerrottava = lukija.nextInt();
        System.out.println("Anna kertoja");
        kertoja = lukija.nextInt();

        vastaus = kerrottava * kertoja;

        System.out.println(Integer.toString(vastaus));
    }
}

toivotontapaus [19.09.2014 16:51:33]

#

oi kiitos paljo :D en tiennyt tuosta nextInt:stä!

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta