Gå til innhold

Anbefalte innlegg

Hei, har eksamen i inf100 på mandag ved HiA og tenkte eg skulle laga eit program for å øva meg litt, diver så satt eg meg fast, så det blei ein dårlig øvelse. Men nå sitte eg å irritere meg over at eg ikkje fekk det til.

 

Cluet med programet er at brukaren skal gjetta på eit tall mellom 1 og 100 til han får rett. Dei rette svara ligg lagra i ein array eg har deklarert til å begynna med.

 

Problemet er når at når eg skal spør, i ei forløkka tenkte eg, etter rett tall, korleis skal eg skriva det? Skal eg bruka if? equals.string(med svar)? boolean?!

 

 

Eg hate foresten boolean...

Lenke til kommentar
Videoannonse
Annonse

1)Hvorfor lagre det riktige tallet i en array, skal det være flere riktige tall?

2)Jeg ville brukt en while løkke for å lese inn tall fra brukeren, for du vet jo ikke hvor lenge du vil måtte fortsette.

 

La inn en liten kode som gjør det du vil, bør gå greit å forstå hva den gjør.

Mangler som du ser sjekk av inputten, så folk kan skrive inn noe annet enn en int så vil programmet kræsje. Men det er bare å lage en liten metode med noe try-catch i, så er ikke det noe problem. Ville ikke gjøre koden her for stor.

Lykke til på eksamen, hvor lang er deres eksamen?

Mvh UiB.

 

import java.util.Scanner;
import java.util.Random;
public class Hoved {
public static void main(String[] args) {
 Random generator = new Random();
 Scanner tastatur = new Scanner(System.in);
 // Gir RiktigTall en verdi fra og med 1 til å med 100
 int RiktigTall = (1 + generator.nextInt(100));
 int input = 0;
 // Løkke som kjører så lenge brukeren ikke taster inn riktig tall
 do {
 	System.out.print("Gjett et tall da ");
 	input = tastatur.nextInt();
 	if (input != RiktigTall) {
   System.out.println("Det var feil tall, prøv på nytt");
 	} else {
   System.out.println("Riktig gjettet gitt");
 	}
 } while (input != RiktigTall);
}
}

Endret av P@rm@nn
Lenke til kommentar

Fire timar. Men er den er på papir.

 

Og slik eg har forstått skal me laga fire-fem program. Jaja, kanskje like greit å ikkje bruka tid på kompilering :)

 

 

Ser at løysinga di bruke scanner og random, dei har eg ikkje jobba med før. Men den do whilen såg jo veldig smart ut kontra det eg dreiv på med.

 

Mvh HiA

Endret av The_Creator
Lenke til kommentar

om du ønsker bedre tilbakemld, kan du gjøre sånn inni koden (bytt ut orginal do-while-løkke med denne):

// Løkke som kjører så lenge brukeren ikke taster inn riktig tall
do {
 System.out.print("Gjett et tall da ");
 input = tastatur.nextInt();
 
 //for lavt
 if (input < RiktigTall) {
   System.out.println("Du gjettet for lavt, prøv en høyere verdi");
 } 
 //for høyt
 else if (input > RiktigTall){
   System.out.println("Du gjettet for høyt, prøv en lavere verdi");
 }
 //riktig tall
 else {
  System.out.println("Riktig gjettet gitt");
 }
} while (input != RiktigTall);

Lenke til kommentar

Ja, der kan du se... Jeg leste bare en liten del av kodingen og antok at variabelen riktigTall var en boolsk verdi. Det høres mer naturlig ut mtp. navngivningen. Derfor antok jeg selvsagt også at do/while(!riktigTall) og if (tallGjettet == tall) riktigTall = true;

 

Menmen, skal begynne å lese koden fra nå av... (:

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...