Avatar billede edron Nybegynder
09. februar 2002 - 23:02 Der er 5 kommentarer og
1 løsning

Galt variabelnavn!

Jeg ved at variablen int ikke virker i dette program, fordi man kan kun indlæse tal, der hvor man, hvis det skal køre korrekt skal indlæse ord.
Jeg tænkte først på at caste(ændre variabeltype) men det kommer vist ikke til at virke.
Er der en, der har lyst til at kommentere det og komme med rettelses-forslag?

import java.io.*;

class Quistions
{
 

  public static void main (String [] args) throws IOException
  {
      int a, b, c, d;
     
      String line;
     
      BufferedReader KeybIn = new BufferedReader
          (new InputStreamReader(System.in));

     
        /* Indlæser et input fra brugeren */
        System.out.print("Skriv din vens navn: ");
        line  = KeybIn.readLine();
        a = Integer.parseInt(line);

        System.out.print("Skriv din favorit farve: ");
        line  = KeybIn.readLine();
        b = Integer.parseInt(line);

        System.out.print("Hvad er din livret?: ");
        line  = KeybIn.readLine();
        c = Integer.parseInt(line);

        System.out.print("Hvilket dyr kan du li?: ");
        line  = KeybIn.readLine();
        d = Integer.parseInt(line);
       
     
        /* Udskriv værdierne af variablerne */
        System.out.println("Jeg har en drom om at" + a + "spiser en" + b + d + "og siger: Det smager som" + c);
     
  }
}
Avatar billede stigc Nybegynder
09. februar 2002 - 23:09 #1
Jeg kan ikke se dit problem.
Du ændre vairablerne til string, og fjerne I "Integer.parseInt"

String a, b, c, d;
a = line;
Avatar billede rene-rene Nybegynder
09. februar 2002 - 23:40 #2
Hvorfor ikke erklære a, b, c og d som strings også smide inputene direkte over i dem. For der er vist ingen grund til at type-caste dem.

String a,b,c,d;

a= KeybIn.readLine();
osv.
Avatar billede edron Nybegynder
09. februar 2002 - 23:52 #3
Jeg er også kun nybegynder, jeg har fulgt din anvisning og nu fungerer det.
Noget andet er at jeg synes ikke man kan finde så meget på nettet om Applikations-programmering med bruger-dialog i Java.
Langt det meste er om Appletter.
Du kender måske nogle sites, hvor der er skrevet meget om Applikations-programmering med bruger-dialog.
Hvis du gør vil jeg gerne have nogle links.
Hvis du lægger svar ud på mit spørgsmål om variablen skal du få dine point, den du skrev før var en kommentar.
Avatar billede stigc Nybegynder
10. februar 2002 - 00:25 #4
svar.

Jeg må anbefale dig at købe en bog. Kender ikke lige et godt site.
Avatar billede disky Nybegynder
10. februar 2002 - 00:28 #5
edron: kig på www.javasoft.com

Din kode har flere problemmer.

1. du beder folk om at indtaste deres navn, hvorefter du forsøger at lave det om til en int. Det giver ingen mening og resultere i en Exception.

Faktisk har du det problem i alle dine spørgsmål.

Hvis du beder om et tal, så skal du bruge Integer.parseInt() til at konvertere med.

men rundt om denne skal du have en try/catch.

f.eks.

try
{
  int val=Integer.parseInt(dinStreng);
}
catch (NumberFormatException e)
{
  e.printStackTrace();
  val=-1; //har jeg valgt betyder der opstod en fejl.

}

if(val==-1)
{
  //Ups der var et problem, sig til brugeren der SKAL indtastes et tal.
}

Hvis du har andre spørgsmål skal du bare spørge igen.
Avatar billede edron Nybegynder
10. februar 2002 - 01:34 #6
I andres svar er ikke Afvist, de er helt ok men nu er systemet sådan og stigc var først med et svar jeg kunne bruge i første omgang.
Jeg skal have læst og prøvet noget mere java.
/edron
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester