16. maj 2002 - 13:37Der er
3 kommentarer og 1 løsning
spare tid..
Jeg har lavet et lille program hvor man indtaster et telefonnummer som computeren så finder frem til ved hjælp af Math.random metoden. Desværre tager det dage hvis ikke uger før computeren finder netop det telefonnummer jeg har indtastet. Derfor vil jeg gerne ændre i det, så det f.eks. først søgte efter det første tal og derefter gik videre til det næste tal o.s.v, så man langsomt ville kunne se telefonnummeret blive fundet.
et tillægsspørgsmål er så om man kan gøre det samme med bogstaver(og hvordan)??(evt kombineret tal og bogstaver) Og om man kan begrænse hvor mange tal og bogstaver computeren skal søge efter..
Programmet står nedenunder. På forhånd tak for hjælpen.
import java.io.*; import java.util.*; import java.util.Random; public class nr { public static void main(String[] args) throws Exception {
int x, n; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Indtast et telefonnr som computeren skal finde: "); x = Integer.parseInt(br.readLine()); n=(int)(Math.random()*99999999);
while (n <=99999999) {
System.out.println("nummeret er " + n ); n=(int)(Math.random()*99999999); if (n==x) break;
} System.out.println("Det fundne nummeret er " + x); } }
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
Nej hvor kedeligt*G* Du skulle ikke skrive programmet, bare gøre mig opmærksom på hvilke metoder jeg skulle bruge..
Programmet er okay. Dog ville jeg ønske at telefonnummeret ikke var fastlagt, men at man selv skulle indtaste det i begyndelsen af programmet så computeren skulle finde det bagefter.
Kan man ikke få det til at stå på samme linie, så man ikke ser "gæt på", men at hvert enelt cifre dukker op et efter et?
Kan jeg gøre det samme med f.eks. ord? (Skriv nu for guds skyld ikke programmet!!!)
så kan du ikke bruge System.out.println, da denne skifter til ny linie hver gang. Jeg tror det nemmeste er at lave en GUI der viser hvad der sker. Problemet er bare at det går så hurtigt at du ikke når at opdage hvad der sker (i værste fald (telefonnummer 99999999) køres loopet igennem 80 gange).
hvis du vil gætte på tegn skal du bare ændre lidt på det andet for loop, det skal ikke teste fra 0 til 9 men istedet fra eks. a til Z (en char). Jeg har jo lagt telefonnummeret over i en string så det skulle være forholdsvis nemt at ændre..
For at gøre programmet dynamisk skal du bare genbruge noget af den kode du har skrevet i dit egen program: BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Indtast et telefonnr som computeren skal finde: "); String nummer = br.readLine();
evt. kunne du bruge System.out.print og så kun skifte linie når det rigtig resultat er nået: 012345678 012345 012345678 012345 01234567 ...
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.