16. oktober 2003 - 12:43Der er
20 kommentarer og 2 løsninger
jeg kan heller ikke få hul på denne , random tal
Hej
Jeg skal simulere et simpelt spil, man skal kunne indtaste et heltal der skal så ud fra dette generes et tilfældigt tal som man så skal gætte. Gætter man forkert skal der komme en meddelse : Dit gæt er for lille eller : Dit gæt er for højt. Gætter man skal man naturligvis have det at vide. Samtdig skal der skrives hvor mange gæt det er brugt. Jeg er ikke ude efter en hel løsning men lidt hjælp til hvordan jeg komme igang. Jeg er blevet kastet en måned for sent ind i et datamatiker forløb så jeg har en del at indhente hvis detoverhovedet kan lade sig gøre . Det jeg har bikset sammen indtil nu kommer herunder det er ikke så meget men jeg er gået i stå . På forhånd tak
import java.util.*; import javax.swing*;
public class Numgame { private static Random rand = new Random;
public static int getNum() { return rand. int ntal (n); } public static int tal { int tal = JOptionPane.showInputDialog(null, "Indtast tal")
random generatoren skal laves således: import java.util.Random; Random generator= new Random(); int tal =generator.nextInt('så et tal her maksimum tal her');
Resten kan klares med en if løkke: if (tal>gaet) { System.out.println("tallet er for lille") antal_gaet++ } Håber det kan løse din opgave og jeg ikke har hjulpet for meget! Ps god arejdslyst!
Jeg begraver mig i det nu her om lidt, jeg har nok flere spørgsmål, det er ikke så nemt når man lige bliver smidt på hovedet ind idet. Tak indtil videre, jeg vender tilbage med point men vil ikke lukke endnu.
jeg er ikke helt god i java, jeg forsøgte mig frem, det virker dog ikke helt: import java.io.*; import java.util.Random; class tal1 { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); Random generator= new Random();
public tal1() { } public int getTal() { int tal=generator.nextInt(100); System.out.println(tal); return tal; }
public int indtastTal() throws IOException { System.out.print("Gæt Tal: "); int tal2=Integer.parseInt(br.readLine()); return tal2; }
public void sammenlign() throws IOException { if (getTal()==indtastTal())
hvorfor kan jeg ikke skrive if (tal<tal2) i sammenlign()? den kender ikke de variabler, men er de ikke public? min if som jeg har kommenteret væk er meget forkert, ved jeg godt var lige noget jeg forsøgte, sq ha været if (tal<tal2) istedet
private int tal; public int getTal() { tal=generator.nextInt(100); System.out.println(tal); return tal; } private int tal2; public int indtastTal() throws IOException { System.out.print("Gæt Tal: "); tal2=Integer.parseInt(br.readLine()); return tal2; }
Ok jeg tror jeg er ved at have det men ikke helt ; jeg får en fejl i min system out og hvorfor gør jeg så det? import java.util.*; import javax.swing.*;
public class Numgame {
public static int getTal () { int getTal=Integer.parseInt(JOptionPane.showInputDialog(null, "Indtast tal")); } public static int nyTal () { Random generator= new Random(); int nyTal =generator.nextInt(100); }
public static int talTo () { int talTo=Integer.parseInt(JOptionPane.showInputDialog(null, "Indtast tal")); } public static void main (String args [])
{ if (talTo == nyTal ( JOptionPane.showMessageDialog(null, "Rigtigt gættet"))); else if (talTo > nyTal ( JOptionPane.showMessageDialog(null, "Tallet er for stort"))); else if (talTo < nyTal ( JOptionPane.showMessageDialog(null, "Tallet er for lille"))); }
System.exit(0);
} }
Jeg er heller ikke sikker på hvordan jeg tæler og viser antal gæt
Mange tak . jeg kan nok se hvor jeg har fejl og jeg er klar over at den ikke compiler, det skulle jeg måske have sagt tydeligere, jeg får en fejl på system. exit og hvorfor gør jeg det? Jeg kæmper videre
Ok, jeg er kommet så langt at det compiler , jeg arbejder nu på min løkke. det jeg er kommet frem til med hjælp fra arne ser således ud ; import java.util.*; import javax.swing.*;
public class Numgame {
public static int getTal () { int getTal=Integer.parseInt(JOptionPane.showInputDialog(null, "Indtast tal")); return getTal; } public static int nyTal () { Random generator= new Random(); return generator.nextInt(100); }
public static int talTo () { int talTo=Integer.parseInt(JOptionPane.showInputDialog(null, "Indtast tal")); return talTo; }
public static void main (String args []) { int nyTal; int talTo;
if (talTo() == nyTal()) JOptionPane.showMessageDialog(null, "Rigtigt gættet");
else if (talTo() > nyTal()) JOptionPane.showMessageDialog(null, "Tallet er for stort");
else if (talTo() < nyTal()) JOptionPane.showMessageDialog(null, "Tallet er for lille"); } }
Jeg havde også glemt at erklærer mine variabler 8( Nu venter min Do / While
Hmmm .. Jeg har prøvet at indsætte do før min if sætning og så while talTo()!=nyTal() før min else sætning, det virker ikke, hvad mon jeg gør forkert? og noget helt andet, hvis jeg får det til at virke og jeg bare for sportens skyld kunne tænke mig at lave det om til en applet så jeg kan lægge den på nettet, hvordan gør jeg det hvis det i det hele taget er muligt? Jeg mangler også en tæller der tæller hvormange gange der er gættet, kan jeg tælle en op på en variabel for hvert gennemløb ?
Hej Jeg har lavet en opgave der laver det lille spil:
import javax.swing.*; import java.util.Random; public class Opgave72 { public static void main(String args[]) { int heltal; int skud; int antalskud = 0; do { heltal = indtastInt("Indtast et postivt tal"); } while (heltal < 0); Random rand = new Random(); int i = rand.nextInt(heltal); do { skud = indtastInt("Indtast dit gæt"); ++antalskud; if(skud<i)JOptionPane.showMessageDialog(null,"computerens tal er højere"); if(skud>i)JOptionPane.showMessageDialog(null,"Computerens tal er mindre"); } while (skud != i); JOptionPane.showMessageDialog(null,"Du har gættet tallet " + i + "\nDu brugte " + antalskud + " forsøg"); System.exit(0); }
public static int indtastInt(String text) { int tal; do { String tekst = JOptionPane.showInputDialog(null,text); if (tekst == null) return Integer.MIN_VALUE; try { tal = Integer.parseInt(tekst); break; } catch (Exception ex) { JOptionPane.showMessageDialog(null, "Ulovligt heltal"); } } while (true); // while f.eks.(1 = 1) return tal;
Jeg deler pointene, der er ikke mange men jeg håber at det går? Med jeres hjælp fik jeg løst opgaven, jeg er igang med en ny, der skal nok vise sig problemer her!
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.