Java ohjelman pätkä

eli ohjelma tekee laskutoimituksia tai siis pitäisi tehdä..Koko eilisen päivän olen tätä tehnyt eikä vaan toimi..osaisikos joku vähän avittaa..

package tehtävä2;

import java.util.Scanner; //import lause skannerille

public class tehtävä2 //luokan nimi
{
   public static void main (String args[])
   
   {
      Scanner lukija = new Scanner(System.in); //tällä lausekkeella tuodaan skanneri
      //määritellään tarvittavat muuttujat
      boolean lopetus = false;
      int a = 0;
      int b = 0;
      int valinta = 0;
      int summa = 0;
      int syote = 0;
      short oikeat = 0;
      short vaarat = 0;
      
      

      // Ohjelma pyytää syöttämään luvun väliltä 1-3, jota jatketaan niin kauan
      //kunnes käyttäjä syöttää oikein
   
      do
      {
         System.out.println("*******LASKUOPE*********" "\n" "1 = YHTEENLASKUJA" "\n"
         "2 = VAHENNYSLASKUJA" "\n" "3 = LOPETUS" ); //tulostaa alkuvalikon, jossa näkee toiminnot
         valinta = lukija.nextInt();
                  
            if (valinta != 3) //tällä ehtolohkolla ohjelma suljetaan
            {
               if ( valinta == 1 ) //tällä ehtolohkolla ohjelma menee yhteenlaskuharjoituksiin
               {
            
                  for(valinta = 1; valinta
81307
Äänestä

Muut lukivat myös

Vastaukset 8

Vanhimmat

Mä voin tehdä tuon. Paljonko maksat?
ps. On huono tapa laittaa kaikki roina mainiin.

Äänestä
  • Pieni harjotustyö ois tarjolla mutta sillä on tosi kiire. 100€ siitä saat jos kiinnostaa.
    mailaa: [email protected]

    Äänestä

Sinulla on do, mutta missä on while? Tutkaileppa miten do-while rakenne toimii.

Äänestä

Aikasta sekavaa koodia mut pikku viilauksilla sen saa toimimaan.
Ensiksi katso miten do-while -looppin periaate. Jos on opetettu switch-case, käytä sitä. Jollei ole opetettu, niin mieti if-else -lauseiden rakenne.

Äänestä
  • kiitos vinkeistä ja huomasin do while rakenteessa ongelman..No nyt se sitten tulostaa konsoliin aloitus tekstin, mutta ei se mitään laske..Nyt tämä vasta hankalaksi meni kun ei edes tule mitään virheilmoituksia..Kun tämän teen en enään javaan koske...
    do
    {
    System.out.println("*******LASKUOPE*********" "\n" "1 = YHTEENLASKUJA" "\n"
    "2 = VAHENNYSLASKUJA" "\n" "3 = LOPETUS" ); //tulostaa alkuvalikon, jossa näkee toiminnot
    valinta = lukija.nextInt();
    }
    while (valinta != 3); //tällä ehtolohkolla ohjelma suljetaan
    {
    if ( valinta == 1 ) //tällä ehtolohkolla ohjelma menee yhteenlaskuharjoituksiin
    {

    for(valinta = 1; valinta

    Äänestä

  • hankalaa... kirjoitti:

    kiitos vinkeistä ja huomasin do while rakenteessa ongelman..No nyt se sitten tulostaa konsoliin aloitus tekstin, mutta ei se mitään laske..Nyt tämä vasta hankalaksi meni kun ei edes tule mitään virheilmoituksia..Kun tämän teen en enään javaan koske...
    do
    {
    System.out.println("*******LASKUOPE*********" "\n" "1 = YHTEENLASKUJA" "\n"
    "2 = VAHENNYSLASKUJA" "\n" "3 = LOPETUS" ); //tulostaa alkuvalikon, jossa näkee toiminnot
    valinta = lukija.nextInt();
    }
    while (valinta != 3); //tällä ehtolohkolla ohjelma suljetaan
    {
    if ( valinta == 1 ) //tällä ehtolohkolla ohjelma menee yhteenlaskuharjoituksiin
    {

    for(valinta = 1; valinta

    mietis vähän että mitä tuo do-while silmukka pyörittää.

    Äänestä

  • hankalaa... kirjoitti:

    kiitos vinkeistä ja huomasin do while rakenteessa ongelman..No nyt se sitten tulostaa konsoliin aloitus tekstin, mutta ei se mitään laske..Nyt tämä vasta hankalaksi meni kun ei edes tule mitään virheilmoituksia..Kun tämän teen en enään javaan koske...
    do
    {
    System.out.println("*******LASKUOPE*********" "\n" "1 = YHTEENLASKUJA" "\n"
    "2 = VAHENNYSLASKUJA" "\n" "3 = LOPETUS" ); //tulostaa alkuvalikon, jossa näkee toiminnot
    valinta = lukija.nextInt();
    }
    while (valinta != 3); //tällä ehtolohkolla ohjelma suljetaan
    {
    if ( valinta == 1 ) //tällä ehtolohkolla ohjelma menee yhteenlaskuharjoituksiin
    {

    for(valinta = 1; valinta

    Java on hyvä kieli alottaa/kokeilla ohjelmointia. Jos olet ohjelmoinut ennenkin niin tee tuosta ensin tutulla kielellä toimiva ohjelma ja mieti sen jälkeen et mitä teet erillailla (syntaksi ei tietenkään kuulu tähän:). Jos tämä ensinmäisiä ohjelmointitehtäviä, niin mieti mitä haluat ohjelman tekevän. Älä aloita kirjoittamista suoraan vaan hahmottele paperille/mielessäsi että miten ohjelma toimii. (tässä varsinkin kannattaa kun haluat käyttää if-lauseita).
    Todella harvoin ohjelmointikielessä on itsessään vikaa, sitä vain käytetään väärässä paikassa.
    PS. ja tämä ei ole väärä paikka:)

    Äänestä

  • hankalaa... kirjoitti:

    kiitos vinkeistä ja huomasin do while rakenteessa ongelman..No nyt se sitten tulostaa konsoliin aloitus tekstin, mutta ei se mitään laske..Nyt tämä vasta hankalaksi meni kun ei edes tule mitään virheilmoituksia..Kun tämän teen en enään javaan koske...
    do
    {
    System.out.println("*******LASKUOPE*********" "\n" "1 = YHTEENLASKUJA" "\n"
    "2 = VAHENNYSLASKUJA" "\n" "3 = LOPETUS" ); //tulostaa alkuvalikon, jossa näkee toiminnot
    valinta = lukija.nextInt();
    }
    while (valinta != 3); //tällä ehtolohkolla ohjelma suljetaan
    {
    if ( valinta == 1 ) //tällä ehtolohkolla ohjelma menee yhteenlaskuharjoituksiin
    {

    for(valinta = 1; valinta

    Kyhäsin huvikseni rakenteellisemman ratkaisun tähän tehtävään.

    Tässä luokassa on mainin lisäksi kaksi metodia:
    oppilaan_valinta
    oppilaan_kuulustelu

    Mainista kutsutaan noita metodeja, kunnes oppilaan_valinta -metodissa valitaan ohjelman lopetus.

    oppilaan_valinta sisältää laskutavan valinnan. Tehty valinta palautuu main-metodiin, joka välittää sen edelleen oppilaan_kuulustelu -metodiin.

    oppilaan_kuulustelu hoitaa sekä yhteen- että vähennyslaskun käsittelyn saamansa parametrin avulla.

    --------------------------------------------------

    import java.util.Scanner; //import-lause skannerille


    public class Tentti { // luokan nimi
    static Scanner lukija;


    /* *** Metodi valinnan tekemiseen *** */

    private int oppilaan_valinta() {
    boolean valinta_OK = false;
    int valinta;

    /* *** Toista seuraavaa, kunnes hyväksyttävä vastaus on annettu *** */

    do {
    System.out.println("******* LASKUOPE *********");
    System.out.println("1 = YHTEENLASKUJA");
    System.out.println("2 = VAHENNYSLASKUJA");
    System.out.println("3 = LOPETUS");

    valinta = lukija.nextInt();

    if ( valinta == 1 || valinta == 2 || valinta == 3 )
    valinta_OK = true;
    }
    while ( valinta_OK == false );


    /* *** Ohjelma lopetetaan: *** */

    if ( valinta == 3 )
    System.exit(0);


    /* *** Tehty valinta palautetaan main-metodille: *** */

    return valinta;

    } // metodi oppilaan_valinta päättyy



    /* *** Metodi yhteen- ja vähennyslaskujen harjoitteluun *** */

    private void oppilaan_kuulustelu(int laskutapa) {
    char plusmiinus;
    short oikeat = 0;
    short vaarat = 0;
    int oikea_vastaus, oppilaan_vastaus, a, b;

    if ( laskutapa == 1 )
    plusmiinus = ' ';
    else
    plusmiinus = '-';


    for (int laskuri = 1; laskuri a ) {
    int jemma = a;
    a = b;
    b = jemma;
    }

    /* *** Tämän jälkeen on aina a >= b *** */

    oikea_vastaus = a - b;
    }

    System.out.println("Paljonko on " a plusmiinus b " ?");
    oppilaan_vastaus = lukija.nextInt();

    if ( oppilaan_vastaus == oikea_vastaus ) {
    oikeat ;
    System.out.println("Oikein!");
    }
    else {
    vaarat ;
    System.out.println("Vaarin!");
    }

    } // for-silmukka päättyy


    System.out.println("Oikeita vastauksia " oikeat " kpl");
    System.out.println("Vaaria vastauksia " vaarat " kpl");

    } // oppilaan_kuulustelu päättyy



    /* *** Ohjelman käynnistysmetodi main *** */

    public static void main (String huuhaa[]) {

    Tentti koe = new Tentti();

    lukija = new Scanner(System.in); // skanneri luodaan
    boolean tentti_menossa = true;
    int tehty_valinta;

    /* *** Pyöritä kuulustelua, kunnes oppilas kyllästyy... *** */

    while ( tentti_menossa == true )
    {
    tehty_valinta = koe.oppilaan_valinta();
    koe.oppilaan_kuulustelu(tehty_valinta);
    }

    } // main päättyy


    } // Luokka päättyy

    Äänestä

Kommentoi aloitusta


hermot menee kirjoitti:

eli ohjelma tekee laskutoimituksia tai siis pitäisi tehdä..Koko eilisen päivän olen tätä tehnyt eikä vaan toimi..osaisikos joku vähän avittaa..

package tehtävä2;

import java.util.Scanner; //import lause skannerille

public class tehtävä2 //luokan nimi
{
   public static void main (String args[])
   
   {
      Scanner lukija = new Scanner(System.in); //tällä lausekkeella tuodaan skanneri
      //määritellään tarvittavat muuttujat
      boolean lopetus = false;
      int a = 0;
      int b = 0;
      int valinta = 0;
      int summa = 0;
      int syote = 0;
      short oikeat = 0;
      short vaarat = 0;
      
      

      // Ohjelma pyytää syöttämään luvun väliltä 1-3, jota jatketaan niin kauan
      //kunnes käyttäjä syöttää oikein
   
      do
      {
         System.out.println("*******LASKUOPE*********" "\n" "1 = YHTEENLASKUJA" "\n"
         "2 = VAHENNYSLASKUJA" "\n" "3 = LOPETUS" ); //tulostaa alkuvalikon, jossa näkee toiminnot
         valinta = lukija.nextInt();
                  
            if (valinta != 3) //tällä ehtolohkolla ohjelma suljetaan
            {
               if ( valinta == 1 ) //tällä ehtolohkolla ohjelma menee yhteenlaskuharjoituksiin
               {
            
                  for(valinta = 1; valinta

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu