Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Java: Onko varaa lihapiirakkaan?

Sivun loppuun

kayttaja-12707 [01.02.2014 20:12:18]

#

hei toivottavasti täällä joku pystyy auttamaan eli en osaa tehdä tättä olen yritänyt etsiä neuvoja eli jos joku voisi avustaa tämän kanssa
Kirjoita ohjelma, joka kysyy käyttäjältä lompakossa olevan rahamäärän ja lihapiirakan hinnan. Ohjelma tutkii, onko käyttäjällä varaa ostaa lihapiirakka. Jos on, ohjelma ilmoittaa, kuinka paljon lompakkoon jää vielä rahaa. Muuten ohjelma kehottaa
menemään töihin. Käytä vain kahta muuttujaa. Älä vähennä lompakon sisältöä,
ellet voi ostaa lihapiirakkaa.
eli tässä mitä olen yrittänyt voi olla päin jotain

package javaharj;
import java.util.Scanner;

public class java10 {

  static Scanner lukija = new Scanner(System.in);
    public static void main(String[] args) {
  int rahamaara, hinta;
System.out.print("Anna  rahamaara:");
rahamaara = lukija.nextInt();
System.out.print("Anna lihapiirakan hinta hinta:");
hinta = lukija.nextInt();
 double erotus = rahamaara-hinta;
  System.out.println(" " + (rahamaara-hinta));
 if (erotus > hinta)
 System.out.println("mene töihin");

}
    }

Mod. lisäsi kooditagit!

Metabolix [01.02.2014 20:39:46]

#

Mietipä nyt. Mistä itse kaupassa tiedät, onko varaa ostaa lihapiirakka? Tähän tarvitset vain rahamäärän ja hinnan, et erotusta. Tee tarkistuksesta if-else-lause, jossa tulostat joko ”on varaa” tai ”ei ole varaa”. Kun pääset tähän asti, voit laskea – edelleen ala-asteen matematiikalla, ei ole vaikeaa –, paljonko rahaa ostoksesta jää. Jos ohjelmointi jotenkin pehmittää pään, kirjoita laskut vaikka ensin paperille symbolisesti ja tarkista ne muutamilla luvuilla (esim. 10 > 2 ja 10 - 2 = 8 taikka 7 > 3 ja 7 - 3 = 4) ja siirrä vasta sitten kaavat ohjelmaan.

kayttaja-12707 [01.02.2014 21:00:07]

#

 if ( rahamaara > hinta ) {
 System.out.println("  ”on varaa" );
} else if ( rahamaara < hinta ) {
    System.out.println(" ei ole varaa");


 }

näyttääkö nyt paremmalta?
miten tämä kohta tehdää?
Ohjelma tutkii, onko käyttäjällä varaa ostaa lihapiirakka. Jos on, ohjelma ilmoittaa, kuinka paljon lompakkoon jää vielä rahaa. Muuten ohjelma kehottaa
menemään töihin.

Mod. huom: Älä muuta vanhan viestin koodia, laita uusi!

Teuro [01.02.2014 21:15:51]

#

println("Fyrkkaa jää " + rahamaara-hinta);

kayttaja-12707 [01.02.2014 21:16:35]

#

package javaharj;
import java.util.Scanner;
public class java110 {
static Scanner lukija = new Scanner (System.in);
    public static void main(String[] args) {
 int rahamaara,hinta;
 System.out.print("Anna  rahamaara:");
rahamaara = lukija.nextInt();
System.out.print("Anna  hinta:");
hinta = lukija.nextInt();
 if ( rahamaara > hinta ) {
 System.out.println("  ”on varaa" );
 }else if ( rahamaara == hinta ) {
 System.out.println("  ”on varaa" );
} else if ( rahamaara < hinta ) {
    System.out.println(" ei ole varaa");


 }



    }

}

Oskuz [01.02.2014 21:27:27]

#

Tuo keskimmäinen else IF on turha.

kayttaja-12707 [01.02.2014 21:33:03]

#

package javaharj;
import java.util.Scanner;
public class java110 {
static Scanner lukija = new Scanner (System.in);
    public static void main(String[] args) {
 int rahamaara,hinta;
 System.out.print("Anna  rahamaara:");
rahamaara = lukija.nextInt();
System.out.print("Anna  hinta:");
hinta = lukija.nextInt();
println("Fyrkkaa jää " + rahamaara-hinta);
if ( rahamaara > hinta ) {
 System.out.println("  ”on varaa" );
 }else if ( rahamaara == hinta ) {
 System.out.println("  ”on varaa" );
} else if ( rahamaara < hinta ) {
    System.out.println(" ei ole varaa");


 }



    }

}

mitä tässä on vielä pielessä
tämä tehtävä tökkii jostain syystä pahasti olen saanut muita tehtyä paljon paremin

Lisäys:

Oskuz kirjoitti:

Tuo keskimmäinen else IF on turha.

onko koska jos rahaa on 5€ ja hinta 5€

groovyb [01.02.2014 21:47:54]

#

miten olisi rahamäärä >= hinta (suurempi tai yhtäsuuri)

Metabolix [01.02.2014 21:54:33]

#

En ymmärrä, miten tuo voi olla noin vaikeaa. Otetaan nyt suoraan tehtävänannosta teksti:

Ohjelma tutkii, onko käyttäjällä varaa ostaa lihapiirakka. Jos on
	ohjelma ilmoittaa, kuinka paljon lompakkoon jää vielä rahaa.
Muuten
	ohjelma kehottaa menemään töihin.

Lisätään sulkuja, jotta saadaan vähän Javaa muistuttava rakenne:

(Ohjelma tutkii, onko käyttäjällä varaa ostaa lihapiirakka. Jos on) {
	ohjelma ilmoittaa, kuinka paljon lompakkoon jää vielä rahaa.
} Muuten {
	ohjelma kehottaa menemään töihin.
}

Muutetaan sanalliset selitykset Javaksi:

// Ohjelma tutkii, onko käyttäjällä varaa ostaa lihapiirakka. Jos on
if (varaaOstaaLihapiirakka) {
	// ohjelma ilmoittaa, kuinka paljon lompakkoon jää vielä rahaa.
	System.out.println("Lompakkoon jää rahaa " + (rahaaJäljellä));
// Muuten
} else {
	// ohjelma kehottaa menemään töihin.
	System.out.println("Mene töihin!");
}

Nyt ohjelmasta puuttuu enää kaksi aivan yksinkertaista kohtaa: milloin raha riittää (tulee kohtaan varaaOstaaLihapiirakka) ja paljonko sitä jää (tulee kohtaan rahaaJäljellä). Vihje: tarvitset merkintöjä ”<=” (tai ”>=”) ja ”-”.

kayttaja-12707 [01.02.2014 21:56:16]

#

package javaharj;
import java.util.Scanner;
public class java110 {
static Scanner lukija = new Scanner (System.in);
    public static void main(String[] args) {
 int rahamaara,hinta;
 System.out.print("Anna  rahamaara:");
rahamaara = lukija.nextInt();
System.out.print("Anna  hinta:");
hinta = lukija.nextInt();
println("Fyrkkaa jää " + rahamaara-hinta);
if ( rahamaara >= hinta ) {
 System.out.println("  ”on varaa" );
 } else if ( rahamaara < hinta ) {
    System.out.println(" ei ole varaa");


 }



    }

}

Metabolix [01.02.2014 22:03:14]

#

Tehtävänannossa lukee erikseen: ”Älä vähennä lompakon sisältöä, ellet voi ostaa lihapiirakkaa.” Sinun pitäisi siis tulostaa uusi summa vain, jos on varaa. Lisäksi laskulausekkeessa pitää olla sulut, koska lausekkeet käsitellään vasemmalta oikealle, joten et voi laskea toimitusta "a"+b-c eli ("a"+b)-c vaan täytyy kirjoittaa "a"+(b-c).

Toivottavasti luit myös edellisen viestini.

kayttaja-12707 [01.02.2014 22:28:09]

#

mikä on vielä pielessä
joo tiedän itseäkin hävetää
eikö tässä nyt ole kaikki muu kunnossa paitsi tämä

System.out.println("Lompakkoon jää rahaa " + (rahamaara-hinta.));
package javaharj;

import java.util.Scanner;
public class liha {
  static Scanner lukija = new Scanner (System.in);
    public static void main(String[] args) {
         int rahamaara,hinta;
         System.out.print("Anna  rahamaara:");
rahamaara = lukija.nextInt();
System.out.print("Anna  hinta:");
hinta = lukija.nextInt();
  if  ( rahamaara >= hinta) {
		System.out.println("Lompakkoon jää rahaa " + (rahamaara-hinta.));
} else {
		System.out.println("Mene töihin!");
}
    }

}

Metabolix [01.02.2014 22:38:21]

#

Poista tuo ylimääräinen piste. Kai nyt kehitysympäristösi osaa osoittaa, missä kohti se virhe suunnilleen on, joten ei liene kovin monta kohtaa, jossa virhe voisi olla.

kayttaja-12707 [01.02.2014 22:45:20]

#

Metabolix kirjoitti:

Poista tuo ylimääräinen piste. Kai nyt kehitysympäristösi osaa osoittaa, missä kohti se virhe suunnilleen on, joten ei liene kovin monta kohtaa, jossa virhe voisi olla.

joo kiitos paljon avusta! rupesi vaan silmät olevaan vähän väsymään kun koko päivän on näitä tehnyt.


Sivun alkuun

Vastaus

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

Tietoa sivustosta