Avatar billede convinius Nybegynder
02. oktober 2002 - 21:53 Der er 86 kommentarer

mit første java program?

import cs1.Keyboard;

public class afstemning


{

    // Importer cs1.keyboard
    // Definere en klasse "afstemning"





    public static void main (String[] args)

{





int total = 0, ja = 0, ingen = 0, vedikke = 0, resultat = 0, Afslut = 0; / Erklær variablerne.

        // ja, nej og ved ikke er stemmer
        // resultat er når man er færdig med at indtaste stemmerne
        // afslut er når man vil afslutte programmer
        // fejl er hvis man indtaster forkert tegn



        String memory;  // den gemmer indtastningerne på keybordet



    class menu() //prøver at gemme menuen som class ved ikke helt om det er rigtigt.
        {
        System.out.println();
        System.out.println("****************************************************************************");
        System.out.println("*                            Afstemningsprogram                            *");
        System.out.println("****************************************************************************");
        System.out.println();
        System.out.println();
        System.out.println("****************************************************************************");
        System.out.println("*Kære medlem, du skal bestemme om foreningen skal nedlægges eller forsætte.*");
        System.out.println("*Som du ved, så har foreningen interne problemer, som på længere sigt vil  *");
        System.out.println("*resultere i nedlæggelse af foreningen                                    *");
        System.out.println("****************************************************************************");
        System.out.println();
        System.out.println("************  Hvad vil du stemme? - for eller imod!  *********************");
        System.out.println();
        System.out.println();
        System.out.println("****************************************************************************");
        System.out.println("* Du har følgende svar muligheder:                                        *");
        System.out.println("*  Hvis ja, så indtast J                                                  *");
        System.out.println("*  Hvis nej, så indtast N                                                *");
        System.out.println("*  Hvis ved ikke, så indtast V                                            *");
        System.out.println("*  For at se resultatet skal du indtaste R for resultat.                  *");
        System.out.println("****************************************************************************");

        }








//**************************** stemme optælling ved "Q"**************************
// If-statement. Udfører den kode der er knyttet til de forskellige kommandoer.
// Hvis den ønskede kommando er Q, så afslut programmet



                if (memory.compareToIgnoreCase("Q") == 0 )
        {


                afslut = true;
                System.out.println("(stemme optælling)");

        }
//************************************************************************






//************************* JA, stemmen tilføjes her ********************
// Hvis den ønskede kommando er J, så tilføj 1 til både de optalte Ja-stemmer
// og de totale optalte stemmer


                else if (memory.compareToIgnoreCase("J") == 0 )

        {

                ja++;
                total++;
                System.out.println("(Tak for stemmen)");

        }

//************************************************************************






//********************* NEJ, stemmen tilføjes her ********************
// Hvis den ønskede kommando er N, så tilføj 1 til både de optalte Nej-stemmer
// og de totale optalte stemmer


                else if (memory.compareToIgnoreCase("N") == 0 )

        {

                nej++;
                total++;
                System.out.println("(Tak for stemmen)");

        }

//************************************************************************






//******************* Ved ikke stemmen tilføjes her ***********************



                else if (memory.compareToIgnoreCase("V") == 0 )

        {

                vedikke++;
                total++;
                System.out.println("(Tak for stemmen)");

        }

//************************************************************************






//******************Hvis indtastningen er forkert************************

                else


        {
                class menu();

                System.out.println();
                System.out.println();
                System.out.println(""Følgende tegn `" memory + "` er forkert , prøv igen:");

        }

//************************************************************************







//*************************** Resultatet **********************************


        // Når alle stemmer er optalt (Brugeren har valgt X som kommando), så udskriv resultatet af
        // afstemningen. Der udskrives de totale optalte stemmer, de forskellige optalte stemmer
        // og hvor stor en % de forskellige optalte stemmer udgør af de totale optalte stemmer.

        {

                System.out.println();
                System.out.println();
                System.out.println();
                System.out.println();
                System.out.println("***********************************Resultatet************************************");
                System.out.println("*                                                                              *");
                System.out.println("* Ja stemmer      : " + ja      + " ( + ((long) ja      / total) * 100 + %)    *");
                System.out.println("* Nej stemmer      : " + nej    + " ( + ((long) nej    / total) * 100 + %)    *");
                System.out.println("* Ved ikke stemmer : " + vedikke + " ( + ((long) vedikke / total) * 100 + %)    *");
                System.out.println("* Totale stemmer  : " + total  + " ( + ((long) total  / total) * 100 + %)    *");
                System.out.println("*                                                                              *");
                System.out.println("*********************************************************************************");
                System.out.println();
                System.out.println();
        }


//************************************************************************
}
Avatar billede convinius Nybegynder
02. oktober 2002 - 21:54 #1
kan i hjælpe mig med at løse opgaven....jeg sidder simpelthen fast her. Kan ikke se hvilken fejl jeg måtte lave. Sikkert mange, for det er min første opgave i Java.
Avatar billede erikjacobsen Ekspert
02. oktober 2002 - 21:54 #2
Er det et spørgsmål?
Avatar billede convinius Nybegynder
02. oktober 2002 - 21:55 #3
Avatar billede erikjacobsen Ekspert
02. oktober 2002 - 21:56 #4
Hvis du ikke siger hvad du få af fejl tror jeg ikke vi kan hjælp.
Men linien
System.out.println(""Følgende tegn `" memory + "` er forkert , prøv igen:");
skal nok være
System.out.println(""Følgende tegn `" + memory + "` er forkert , prøv igen:");
Avatar billede convinius Nybegynder
02. oktober 2002 - 21:56 #5
ja det er et spørgsmål. Jeg skal aflevere opgaven i morgen. men vil smadder gerne få det til at virke. Kedeligt hvis det ikke kan! øv bøv
Avatar billede erikjacobsen Ekspert
02. oktober 2002 - 21:56 #6
System.out.println("Følgende tegn `" + memory + "` er forkert , prøv igen:");
Avatar billede convinius Nybegynder
02. oktober 2002 - 21:57 #7
ahh ja det er rigtigt.
Avatar billede convinius Nybegynder
02. oktober 2002 - 21:58 #8
så har jeg uploaded den rigtige
Avatar billede convinius Nybegynder
02. oktober 2002 - 21:59 #9
C:\java\afstemning1.java:23: illegal start of expression
int total = 0, ja = 0, ingen = 0, vedikke = 0, resultat = 0, Afslut = 0; / Erklær variablerne.
                                                                        ^
C:\java\afstemning1.java:36: '{' expected
    class menu() //prøver at gemme menuen som class ved ikke helt om det er rigtigt.
                  ^
C:\java\afstemning1.java:162: '{' expected
                class menu();
                                          ^
C:\java\afstemning1.java:164: <identifier> expected
                System.out.println();
                                                  ^
C:\java\afstemning1.java:165: <identifier> expected
                System.out.println();
                                                  ^
C:\java\afstemning1.java:166: <identifier> expected
                System.out.println("Følgende tegn `" + memory + "` er forkert , prøv igen:");
                                                  ^
C:\java\afstemning1.java:205: '}' expected
}
^
C:\java\afstemning1.java:3: class afstemning is public, should be declared in a file named afstemning.java
public class afstemning
      ^
C:\java\afstemning1.java:162: menu is already defined in main(java.lang.String[])
                class menu();
                                ^
C:\java\afstemning1.java:164: cannot resolve symbol
symbol  : class out 
location: class java.lang.System
                System.out.println();
                                      ^
C:\java\afstemning1.java:165: cannot resolve symbol
symbol  : class out 
location: class java.lang.System
                System.out.println();
                                      ^
C:\java\afstemning1.java:166: cannot resolve symbol
symbol  : class out 
location: class java.lang.System
                System.out.println("Følgende tegn `" + memory + "` er forkert , prøv igen:");
                                      ^
C:\java\afstemning1.java:193: local variable ja is accessed from within inner class; needs to be declared final
                System.out.println("* Ja stemmer      : " + ja      + " ( + ((long) ja      / total) * 100 + %)    *");
                                                                            ^
C:\java\afstemning1.java:194: cannot resolve symbol
symbol  : variable nej 
location: class menu
                System.out.println("* Nej stemmer      : " + nej    + " ( + ((long) nej    / total) * 100 + %)    *");
                                                                            ^
C:\java\afstemning1.java:195: local variable vedikke is accessed from within inner class; needs to be declared final
                System.out.println("* Ved ikke stemmer : " + vedikke + " ( + ((long) vedikke / total) * 100 + %)    *");
                                                                            ^
C:\java\afstemning1.java:196: local variable total is accessed from within inner class; needs to be declared final
                System.out.println("* Totale stemmer  : " + total  + " ( + ((long) total  / total) * 100 + %)    *");
                                                                            ^
16 errors

Tool completed with exit code 1
Avatar billede convinius Nybegynder
02. oktober 2002 - 22:00 #10
jeg har rettet den her:

C:\java\afstemning1.java:3: class afstemning is public, should be declared in a file named afstemning.java
public class afstemning
Avatar billede soreno Praktikant
02. oktober 2002 - 22:01 #11
lav:
int total = 0, ja = 0, ingen = 0, vedikke = 0, resultat = 0, Afslut = 0;

om til:
int total = 0;
int ja = 0;
int ingen = 0;
int vedikke = 0;
int resultat = 0;
int Afslut = 0;

du kan ikke initialisere variabler hvis du lister dem med komma imellem
Avatar billede convinius Nybegynder
02. oktober 2002 - 22:01 #12
resten er lidt sort for mig
Avatar billede convinius Nybegynder
02. oktober 2002 - 22:01 #13
okay
Avatar billede convinius Nybegynder
02. oktober 2002 - 22:03 #14
vil du se fejlmedelelsen igen?
Avatar billede convinius Nybegynder
02. oktober 2002 - 22:03 #15
der er kun 14 nu
Avatar billede soreno Praktikant
02. oktober 2002 - 22:04 #16
ja tak - vi er sikkert mange der venter spændt på fejlmeddelserne :-)
Avatar billede convinius Nybegynder
02. oktober 2002 - 22:07 #17
hehe okay:
Avatar billede convinius Nybegynder
02. oktober 2002 - 22:07 #18
C:\java\afstemning1.java:43: '{' expected
    class menu() //prøver at gemme menuen som class ved ikke helt om det er rigtigt.
                  ^
C:\java\afstemning1.java:169: '{' expected
                class menu();
                                          ^
C:\java\afstemning1.java:171: <identifier> expected
                System.out.println();
                                                  ^
C:\java\afstemning1.java:172: <identifier> expected
                System.out.println();
                                                  ^
C:\java\afstemning1.java:173: <identifier> expected
                System.out.println("Følgende tegn `" + memory + "` er forkert , prøv igen:");
                                                  ^
C:\java\afstemning1.java:212: '}' expected
}
^
C:\java\afstemning1.java:169: menu is already defined in main(java.lang.String[])
                class menu();
                                ^
C:\java\afstemning1.java:171: cannot resolve symbol
symbol  : class out 
location: class java.lang.System
                System.out.println();
                                      ^
C:\java\afstemning1.java:172: cannot resolve symbol
symbol  : class out 
location: class java.lang.System
                System.out.println();
                                      ^
C:\java\afstemning1.java:173: cannot resolve symbol
symbol  : class out 
location: class java.lang.System
                System.out.println("Følgende tegn `" + memory + "` er forkert , prøv igen:");
                                      ^
C:\java\afstemning1.java:200: local variable ja is accessed from within inner class; needs to be declared final
                System.out.println("* Ja stemmer      : " + ja      + " ( + ((long) ja      / total) * 100 + %)    *");
                                                                            ^
C:\java\afstemning1.java:201: cannot resolve symbol
symbol  : variable nej 
location: class menu
                System.out.println("* Nej stemmer      : " + nej    + " ( + ((long) nej    / total) * 100 + %)    *");
                                                                            ^
C:\java\afstemning1.java:202: local variable vedikke is accessed from within inner class; needs to be declared final
                System.out.println("* Ved ikke stemmer : " + vedikke + " ( + ((long) vedikke / total) * 100 + %)    *");
                                                                            ^
C:\java\afstemning1.java:203: local variable total is accessed from within inner class; needs to be declared final
                System.out.println("* Totale stemmer  : " + total  + " ( + ((long) total  / total) * 100 + %)    *");
                                                                            ^
14 errors

Tool completed with exit code 1
Avatar billede convinius Nybegynder
02. oktober 2002 - 22:08 #19
System.out.println("* Totale stemmer  : " + total  + " ( + ((long) total  / total) * 100 + %)    *");

SKal der være LONG i denne sætning.
Avatar billede convinius Nybegynder
02. oktober 2002 - 22:09 #20
i kan hente programmet her:

http://www.wassim.rapanden.dk/tvind/

Hvis i altså hellere vil sidde med det.
Avatar billede erikjacobsen Ekspert
02. oktober 2002 - 22:09 #21
Drop din

  class menu() //prøve...

når du nu ikke ved hvad klasser gør godt for.
Avatar billede convinius Nybegynder
02. oktober 2002 - 22:10 #22
Hver gang jeg finder en fejl, oploader jeg det.
Avatar billede convinius Nybegynder
02. oktober 2002 - 22:11 #23
hvad skal jeg så lave istedet :-)
Jeg har faktisk kun brugt 12 timer på at sætte mig ind i JAVA. Så jeg sidder og kæmper mig med at forstå sammenhængen.

Jeg har arbejdet mere med html, grafik, css. Og når jeg laver Class, er det på baggrund af at jeg kender det fra CSS.

Hvad kan jeg gøre istedet.
Avatar billede soreno Praktikant
02. oktober 2002 - 22:12 #24
du har brug for lidt (meget) struktur i din klasse. Et godt trick er at få lidt til at virke 100% og bygge videre på det til du har opnået det du gerne vil, eks:

import cs1.Keyboard;

public class Afstemning //klassenavne bør (skal) være med stort
{
  public static void main(String args[])
  {
    System.out.println("****afsteminig****");
    //vis valgmuligheder
    //hent input fra brugeren
    // handl på baggrund af input fra brugeren   
  }
}
Avatar billede erikjacobsen Ekspert
02. oktober 2002 - 22:13 #25
Class fra css har absolut intet som helst at gøre med class i Java.

Bare slet den linie jeg skrev samt det tilhørende }
Avatar billede soreno Praktikant
02. oktober 2002 - 22:14 #26
iøvrigt tror jeg du måske vil kunne lære lidt fra http://javabog.dk/
Avatar billede erikjacobsen Ekspert
02. oktober 2002 - 22:20 #27
Jeg tror han kunne have lært noget ved at følge den
undervisning, der ligger forud for denne opgave.
Undskyld på forhånd hvis min antagelse er forkert, men
har du, convinius, ikke haft Java i "skolen" i en
måneds tid, og nu, hvor du skal afleverer en opgave,
begynder du at kigge på det. Jeg synes du tager
alvorligt pis på den lærer, der har forberedt og
gennemført en undervisning, der skulle gøre dig i stand
til at løse denne opgave - og som du totalt har
ignoreret.
Avatar billede convinius Nybegynder
02. oktober 2002 - 22:23 #28
faktisk er det selvstudie...forlæsningerne har ikke så meget med koder at gøre. Men mere binær tal og computerens opbygning. Vi har dog øvelses timerne som vi laver lidt i. Og jeg har nu fulgt rimelig godt med.....
Avatar billede convinius Nybegynder
02. oktober 2002 - 22:25 #29
tak for linket Soreno. Jeg kigger lidt i det, og ser om jeg kan lave den menu.
Avatar billede soreno Praktikant
02. oktober 2002 - 22:32 #30
umiddelbart ser det ud som om du benytter "big bang" strategien når du laver din kode - det dur ikke!, lav hellere "edit->compile->run" masser af gange så du ikke mister overblikket.
Avatar billede convinius Nybegynder
02. oktober 2002 - 22:36 #31
hihi big-bang. Ja lige nu ser det meget big-bang ud i min hjerne.
Vi har ikke lært så meget igen. Og jeg er sikker på..eller jeg har fundet ud af at der er en lettere måde at lave den på. En måde som vi har genemgnået.

Den måde jeg laver den på, er næsten som dengang jeg programeret i C++. Jeg måtte bare lige ændre nogen ting. Men selv c++ har jeg glemt med tiden desværre.

men nu vil jeg lave den på den måde her...vil ikke rigtig starte forfra.

PÅ forhånd tak
Avatar billede convinius Nybegynder
02. oktober 2002 - 22:37 #32
jeg er lige i gang med at tælle mine "tuborg" -tegn.  Har ikke helt styr på dem længere...
Avatar billede soreno Praktikant
02. oktober 2002 - 22:42 #33
brug xemacs - så holder den styr på paranteserne (når du engang får den konfigureret..)
kan hentes her:
http://xemacs.org/
Avatar billede convinius Nybegynder
02. oktober 2002 - 22:55 #34
okay er ved at installere det FRA nettet - Jeg har en 10 m/bit forbindelse.
Og ja, det tager rimelig lang tid. Men man skal jo lige have tålmodighed.
Avatar billede soreno Praktikant
02. oktober 2002 - 22:57 #35
du skal regne med at det nemt kan tage et par timer at konfigurere xemacs - det er _ikke_ ligesom andre editorer.. men det finder du nok udaf :-)
Avatar billede soreno Praktikant
02. oktober 2002 - 22:57 #36
hvis ikke du har tålmodighed til at konfigurere, så hent jcreator
www.jcreator.com
Avatar billede convinius Nybegynder
02. oktober 2002 - 23:03 #37
har lige hentet textpad. den laver den da med farver.....
Avatar billede convinius Nybegynder
02. oktober 2002 - 23:10 #38
så er jeg nede på 3 fejl. jubii
Avatar billede convinius Nybegynder
02. oktober 2002 - 23:12 #39
en fejl tilbage:

C:\java\AFSTEMNING1.java:90: incompatible types
found  : boolean
required: int
                afslut = true;
                                        ^
1 error

Tool completed with exit code 1
Avatar billede convinius Nybegynder
02. oktober 2002 - 23:12 #40
hvad siger den debug
Avatar billede soreno Praktikant
02. oktober 2002 - 23:13 #41
afslut er en int
du forsøger at assigne en boolean til en int
det må man ikke
Avatar billede convinius Nybegynder
02. oktober 2002 - 23:15 #42
hvis jeg nu vidste hvad assigne betyd, kunne det være jeg kunne forstå det :-)
Avatar billede soreno Praktikant
02. oktober 2002 - 23:18 #43
assign kan oversættes til "tildele" hvilket er dit '=' tegn
hest = gris;
det må man heller ikke, derfor kan du ikke sætte int = boolean

ved assignments skal variablerne være samme type.
Avatar billede convinius Nybegynder
02. oktober 2002 - 23:22 #44
jeg ved ikke rigtig hvor den har det fra, jeg gør ikke det du skriver:
du kan selv se koden her.
Avatar billede convinius Nybegynder
02. oktober 2002 - 23:23 #45
Avatar billede convinius Nybegynder
02. oktober 2002 - 23:24 #46
du kan åbne den fra nettet.... jeg kan ikke finde noget booleanjeg havde godt nok brugt det før. men så slettede jeg det igen.
Avatar billede soreno Praktikant
02. oktober 2002 - 23:26 #47
ret:
int afslut  = 0;

til
boolean afslut = false;
Avatar billede convinius Nybegynder
02. oktober 2002 - 23:27 #48
hvis det virker vil jeg give dig et skulder klap, jeg var ved at opgive for kun 20 minutter siden
Avatar billede erikjacobsen Ekspert
02. oktober 2002 - 23:27 #49
Du erklærer
  int afslut  = 0;
men skriver
  afslut = true;
og true er en boolean værdi. Hvad mener du, at du vil med den?
Avatar billede convinius Nybegynder
02. oktober 2002 - 23:27 #50
nu skriver den:

C:\java\AFSTEMNING1.java:29: incompatible types
found  : int
required: boolean
boolean afslut  = 0;
                  ^
1 error

Tool completed with exit code 1
Avatar billede erikjacobsen Ekspert
02. oktober 2002 - 23:29 #51
Prøv at gøre som Søren siger
Avatar billede erikjacobsen Ekspert
02. oktober 2002 - 23:30 #52
Så skal du jo også lige putte det hele i en løkke,
som slutter når afslut bliver sand - ikke ?
Avatar billede convinius Nybegynder
02. oktober 2002 - 23:34 #53
prøver lige...
Avatar billede convinius Nybegynder
02. oktober 2002 - 23:53 #54
jeg får den her nu:

C:\java\AFSTEMNING1.java:86: variable memory might not have been initialized
                if (memory.compareToIgnoreCase("Q") == 0 )
                                    ^
1 error

Tool completed with exit code 1


betyder det at jeg skal oprette Q variablen?

sådan - Q er en Boolean skal den være Q = TRUE eller Q = FALSE
Avatar billede soreno Praktikant
02. oktober 2002 - 23:56 #55
ret:
String memory;

til
String memory = "";
Avatar billede =maddog= Nybegynder
03. oktober 2002 - 00:06 #56
Jeg synes du skulle give Keyboard klassen kuglen. Nu. Du kan ligeså vende dig af med den bekvemmelighed og bruge System.in. Keyboard er en 'customized' klasse til bogen Lewis&&Loftus og ikke i gængs brug.
Avatar billede convinius Nybegynder
03. oktober 2002 - 00:07 #57
wow nu er der ingen fejl......cool !!

i må gerne svare så jeg kan give point. nu skal jeg bare køre den.

jeg havde slet ikke forestillet mig at det vil virke!
Avatar billede convinius Nybegynder
03. oktober 2002 - 00:11 #58
nu køre den bare igennem. Nu tror jeg jeg vil gøre det erik sagde. det med løkken....
Avatar billede convinius Nybegynder
03. oktober 2002 - 00:17 #59
jeg kom lige i tanke om at jeg manglede en Keyboard.getInt();
eller Keyboard.getString()

jeg kan ikke lige huske hvad det hedder! Jeg henter nemlig ikke noget fra keyboarded
Avatar billede =maddog= Nybegynder
03. oktober 2002 - 00:42 #60
her er en model, med den der indre klasse som du vil have og uden brug af Keyboard klassen
import java.io.*;
public class Afstemning { // stort bogstav!!

    // erklær fields (class scope)
   
    public Afstemning() {}
   
    public static void main (String[] args) {
        int total = 0; int ja = 0; int nej = 0; int vedikke = 0;
        char temp; boolean run = true;
       
        Menu.parseOut(System.out);
        try {
            while (run) {
                temp = Menu.getInput(System.in);
                switch (temp) {
                case('j'):
                case('J'):
                ja++;total++;
                break;
                case('n'):
                case('N'):
                nej++;total++;
                break;
                case('v'):
                case('V'):
                vedikke++;total++;
                break;
                case('r'):
                case('R'):
                run = false;
                break;
                }
            }
        } catch (IOException e)     {
            System.out.println("En fejl "+e.getMessage()+ " opstod under kørsel.");
        }

        // Når alle stemmer er optalt (Brugeren har valgt X som kommando), så udskriv resultatet af
        // afstemningen. Der udskrives de totale optalte stemmer, de forskellige optalte stemmer
        // og hvor stor en % de forskellige optalte stemmer udgør af de totale optalte stemmer.

        {

                System.out.println();
                System.out.println();
                System.out.println();
                System.out.println();
                System.out.println("***********************************Resultatet************************************");
                System.out.println("*                                                                              *");
                System.out.println("* Ja stemmer      : " + ja      + " (" + ((float) ja      / total) * 100 + "%)    *");
                System.out.println("* Nej stemmer      : " + nej    + " (" + ((float) nej    / total) * 100 + "%)    *");
                System.out.println("* Ved ikke stemmer : " + vedikke + " (" + ((float) vedikke / total) * 100 + "%)    *");
                System.out.println("* Totale stemmer  : " + total  + " (" + ((float) total  / total) * 100 + "%)    *");
                System.out.println("*                                                                              *");
                System.out.println("*********************************************************************************");
                System.out.println();
                System.out.println();
        }
    }
       
    private static class Menu { // Erklær indre klasse private. skal kun have scope i Afstemning. Uden for main
       
        public Menu() {}
       
        public static void parseOut(PrintStream out) {
            out.println();
            out.println("****************************************************************************");
            out.println("*                            Afstemningsprogram                            *");
            out.println("****************************************************************************");
            out.println();
            out.println();
            out.println("****************************************************************************");
            out.println("*Kære medlem, du skal bestemme om foreningen skal nedlægges eller forsætte.*");
            out.println("*Som du ved, så har foreningen interne problemer, som på længere sigt vil  *");
            out.println("*resultere i nedlæggelse af foreningen                                    *");
            out.println("****************************************************************************");
            out.println();
            out.println("************  Hvad vil du stemme? - for eller imod!  *********************");
            out.println();
            out.println();
            out.println("****************************************************************************");
            out.println("* Du har følgende svar muligheder:                                        *");
            out.println("*  Hvis ja, så indtast J                                                  *");
            out.println("*  Hvis nej, så indtast N                                                *");
            out.println("*  Hvis ved ikke, så indtast V                                            *");
            out.println("*  For at se resultatet skal du indtaste R for resultat.                  *");
            out.println("****************************************************************************");
        }
       
        public static char getInput(InputStream in) throws IOException { // vi behøver kun at læse det første tegn
            return (char)in.read();
        }
    // Ret meningsløs klasse !!!!!!
    }
}
Avatar billede =maddog= Nybegynder
03. oktober 2002 - 00:49 #61
Argh. Nitte. Jeg kan ikke fatte jeg har puttet en konstruktor i en static klasse. bummer.
Avatar billede convinius Nybegynder
03. oktober 2002 - 00:53 #62
:-) - det kunne ikke bruges endnu
Avatar billede =maddog= Nybegynder
03. oktober 2002 - 00:57 #63
hvudden mener du? du får en menu op indtaster. hvis du er done og vil have reultater skriver du r.
f.x.
jjjjjjnnnnnjj
jjjr
tæller stemmerne o.s.v.
Avatar billede convinius Nybegynder
03. oktober 2002 - 00:59 #64
okay jeg prøver nu
Avatar billede convinius Nybegynder
03. oktober 2002 - 01:08 #65
hehe ja det kan jeg se....den vil jeg arbejde lidt videre på... jo tak
Avatar billede =maddog= Nybegynder
03. oktober 2002 - 01:24 #66
her er den uden den indre klasse Menu
good luck :-)
www.dsr.kvl.dk/~maddog/Afstemning.java
Avatar billede convinius Nybegynder
03. oktober 2002 - 12:35 #67
import cs1.Keyboard;

public class afstemning


{

    // Importer cs1.keyboard
    // Definere en klasse "afstemning"

    public static void main (String[] args)

{

int total    = 0;
int ja      = 0;
int nej      = 0;
int vedikke  = 0;
int resultat = 0;
boolean afslut  = true;

        // Erklær variablerne.
        // ja, nej og vedikke er stemmer
        // resultat er når man er færdig med at indtaste stemmerne
        // afslut er når man vil afslutte programmer


        int memory =0; // den gemmer indtastningerne på keybordet

while (memory !=4)
    {




//****************************  menu start  **************************


        System.out.println();
        System.out.println("****************************************************************************");
        System.out.println("*                            Afstemningsprogram                            *");
        System.out.println("****************************************************************************");
        System.out.println();
        System.out.println();
        System.out.println("****************************************************************************");
        System.out.println("*Kære medlem, du skal bestemme om foreningen skal nedlægges eller forsætte.*");
        System.out.println("*Som du ved, så har foreningen interne problemer, som på længere sigt vil  *");
        System.out.println("*resultere i nedlæggelse af foreningen                                    *");
        System.out.println("****************************************************************************");
        System.out.println();
        System.out.println("************  Hvad vil du stemme? - for eller imod!  *********************");
        System.out.println();
        System.out.println();
        System.out.println("****************************************************************************");
        System.out.println("* Du har følgende svar muligheder:                                        *");
        System.out.println("*  Hvis ja, så indtast 1                                                  *");
        System.out.println("*  Hvis nej, så indtast 2                                                *");
        System.out.println("*  Hvis ved ikke, så indtast 3                                            *");
        System.out.println("*  For at se resultatet og afslutte skal du indtaste 4.                  *");
        System.out.println("****************************************************************************");



//****************************  menu slut  **************************


        memory = Keyboard.readInt();  //



//**************************** stemme optælling ved "Q"**************************
// If-statement. Udfører den kode der er knyttet til de forskellige kommandoer.
// Hvis den ønskede kommando er Q, så afslut programmet

    switch (memory)
    {

            case 4:
        {


                afslut = true;
                System.out.println("(stemme optælling)");
        }
            break;

//************************************************************************


//************************* JA, stemmen tilføjes her ********************
// Hvis man intaster J, så adderes en værdien til Ja-stemmerne og en til de totale stemmer.


                case 1:

        {

                ja++;
                total++;
                System.out.println("(Tak for stemmen)");

        }
                break;

//************************************************************************


//********************* NEJ, stemmen tilføjes her ********************
// Hvis man intaster N, så adderes en værdien til Nej-stemmerne og en til de totale stemmer.


                case 2:

        {

                nej++;
                total++;
                System.out.println("(Tak for stemmen)");

        }
                break;

//************************************************************************


//******************* Ved ikke stemmen tilføjes her ***********************
// Hvis man intaster V, så adderes en værdien til vedikke-stemmerne og en til de totale stemmer.


                case 3:

        {

                vedikke++;
                total++;
                System.out.println("(Tak for stemmen)");

        }
                break;

//************************************************************************


//******************Hvis indtastningen er forkert**************************

                default:

        {


                System.out.println();
                System.out.println();
                System.out.println("Følgende tegn `" + memory + "` er forkert , prøv igen:");

        }
                break;
    }                        // her slutter switch

    }                        // her slutter while
//************************************************************************


//*************************** Resultatet **********************************


        // Når man vil se resultatet, trykker man på R.
        //Man får derefter en beregning af resultatet







    {

                System.out.println();
                System.out.println();
                System.out.println();
                System.out.println();
                System.out.println("***********************************Resultatet***************************************");
                System.out.println("*                                                                                  *");
                System.out.println("* Ja stemmer      : " + ja + "opgjort i %"+ (((double) ja *100)/total)+ "%" +    "*");
                System.out.println("* Nej stemmer      : " + nej+ "opgjort i %"+ (((double) nej*100)/total)+ "%" +    "*");
                System.out.println("* Ved ikke stemmer : " + vedikke+"opgjort i %"+(((double)vedikke*100)/ total)+"%"+"*");
                System.out.println("* Totale stemmer  : " + total+ "opgjort i %"+(((double)total*100)/total) + "%" + "*");
                System.out.println("*                                                                                  *");
                System.out.println("************************************************************************************");
                System.out.println();
                System.out.println();
        }


//************************************************************************
}
}
Avatar billede convinius Nybegynder
03. oktober 2002 - 12:50 #68
hvorfor vil den ikke outprinte "angiv din stemme eller tak for stemmen"        try {
            while (run) {
                System.out.println("Angiv din stemme"); //hvorfor vil den her ikke blive vist
                temp = (char)System.in.read();
                switch (temp) {
                case('j'):
                case('J'): //hvis j eller J sæt ja og total en op
                ja++;total++;
                System.out.println("tak for stemmen");
                break;
                case('n'):
                case('N'): //hvis n eller N sæt nej og total en op
                nej++;total++;
                break;
                case('v'):
                case('V'): //hvis v eller V sæt vedikke og total en op
                vedikke++;total++;
                break;
                case('r'):
                case('R'): //hvis r eller R stop tælling (run=false)
                run = false;
                break;
                }
Avatar billede erikjacobsen Ekspert
03. oktober 2002 - 13:08 #69
run er vel false fra starten ... ?
Avatar billede convinius Nybegynder
03. oktober 2002 - 13:21 #70
sjovt nok sad, jeg og funderet over om den ikke skulle ændres. dvs. run=true - Men det fungere mærkeligt nok alligevel.
Avatar billede convinius Nybegynder
03. oktober 2002 - 13:26 #71
nu har jeg lavet:

case('r'):
                case('R'): //hvis r eller R stop tælling (run=false)
                run = false;
                break;
                }

om til :

case('r'):
                case('R'): //hvis r eller R stop tælling (run=false)
                run = TRUE;
                break;
                }

og det virker skam også.....
Avatar billede convinius Nybegynder
03. oktober 2002 - 13:33 #72
Jeg ved ikke om min tanke gang er rigtigt. Men jeg tænkte sådan...altså min argumentation for hvorfor Run skal være True til sidst.

Den starter jo med at være True. Får at få den ud af løkken skal den være false.

Det er fordi den fra start af er TRUE. Så bliver den false. Men kunne naturligvis ændre den til False fra start af. Og lave den TRue i løkken.

Eller er det forkert tanke gang.
Avatar billede erikjacobsen Ekspert
03. oktober 2002 - 13:35 #73
Jeg har ikke sagt at det inden i løkken er forkert. Det er hvad du
sætter den til før løkken - og det har vi ikke set.
Avatar billede convinius Nybegynder
03. oktober 2002 - 13:41 #74
nåå okay....

den er TRUE.....
Avatar billede =maddog= Nybegynder
03. oktober 2002 - 15:30 #75
Ok. Jeg siger det lige igen. Det er IKKE smart at bruge Keyboard klassen. INGEN andre gør det. Brug dog System.in til at læse fra keyboardet som alle andre.
Vi havde også denne bog til undervisning, og vi fik den besked i første forelæsning.
Jeg kan godt forstå at du gerne vil selv, men du har altså fået kode der er kørt og testet og som virker.

run er true fra starten, således den kan starter løkken og forsætter med at læse tastetryk indtil der trykkes r. herefter afbrydes løkken og der tælles ikke flere tastetryk.
Avatar billede cybermazedk Nybegynder
03. oktober 2002 - 16:43 #76
En af de fejl mange nybegyndere laver, er at bruge "vandfaldsmetoden". Dvs. man starter bare fra en ende af og laver alt i en klasse og en metode. Det går kun nedad (koden udføres oppefra og ned), ikke opad). Deraf navnet, da man normalt kun bevæger sig nedad et vandfald!

Jeg kan se at koden er blevet bedre, men I har (convinius har) problemer med at få det til at køre.

Jeg har derfor selv kigget lidt på koden, og ændret en del. Jeg kan få det til at køre nu. convinius jeg gider ikke paste det her, det fylder sgu så meget, men hent Afstemning.java her: www.cyberplaze.dk/Afstemning.java

Ved ikke lige hvordan jeg laver url's her endnu, men det kommer vel.

Hvis du ellers har kommentarer til løsningen, så spørg blot. Så vidt jeg har gættet mig til, skal afstemningen fortsætte, indtil man ønsker at se resultatet (r), så sådan fungerer det.

Med hensyn til fejl, så kan man nemt undgå en masse af dem, med et godt udviklingsværktøj. Jeg bruger selv JBuilder fra Borland. Nyeste version (7) findes i en gratis Personal Edition. JBuilder udfører on-the-fly grammatik kontrol ligesom Word, så man glemmer i {,},; og sådan. Man kan naturligvis få hjælp til at se hvad en metode skal modtage af attributter, hvad metoden returnerer, hvilke metoder der er tilgængelige på en klasse osv. Eneste minus er, at det er lidt tungt at arbejde med, hvis ens computer er langsom. Man bør mindst have 400 Mhz og godt med ram (helst 128 eller mere)...
Avatar billede cybermazedk Nybegynder
03. oktober 2002 - 16:48 #77
For pokker !!!

"så man glemmer i {,},; og sådan." = "så man glemmer ikke {,},; og sådan.".

Så er den på plads.

Og så held og lykke med din afstemning :D
Avatar billede =maddog= Nybegynder
03. oktober 2002 - 19:00 #78
programmet er sådan set 'lille' nok til at retfærdiggøre lineær programmering.
ellers ligner det seneste det jeg postede 03/10/00:42 med den undtagelse at metoderne ikke er samlet i en indre statisk klasse.
jeg vil egentlig fraråde smarte editorer når man er n00b. det er bedre at lære gode vaner end luxus fordi man samtidig skal bruge tænke-musklen.

jeg kan se at du (convicus) på et plan tænker klasser i CSS forstand. det er ikke specielt heldigt. du skal tænke på klasser som objekter i stedet. et objekt er lidt svær at begribe umiddelbart, men tænk på det som en abstraktion af en selvstændigt delmængde af programmet med tilhørende funktionalitet.
I dette tilfælde vil jeg henføre til side 177 i den bog du har liggende foran dig.
Avatar billede cybermazedk Nybegynder
03. oktober 2002 - 19:21 #79
Haha, jada, jeg har jo ikke skrevet et nyt program, så kernelementerne er der naturligvis stadigvæk ... men nu burde det kunne køre uden problemer efter at være compilet.

"Smarte editorer" ... jeg tror vi har lidt forskellige syn på det :D
Hvorfor gå fra Århus til København, når man kan tage toget ??? JBuilder kan jo altså ikke brygge kaffe og ordene regnskabet for dig. Du skal stadig kunne programmerer. Forskellen er, at JBuilder lader dig gøre det hurtigere, samt du slipper for at skulle compile, rette, compile, rette compile ... osv i en udendelighed indtil alle fejl er væk. JBuilder hjælper dig med at løse dem on-the-fly mens du skriver. Og så laver JBuilder en masse abe arbejde for dig (læs: trivielt og monotont arbejde, selv en amøbe kunne finde ud af). Ting som, farvet tekst (sort=kode, grøn=kommentar osv, hvilket øger læsbarheden), automatisk indryk, automatisk indsættelse af sluttuborg efter starttuborg mm. Ved godt andre programmer kan det samme, og påstår ikke at JBuilder er det bedste.

Men det er godt.
Avatar billede soreno Praktikant
03. oktober 2002 - 19:27 #80
men hvis ikke du kan gå, hvordan kommer du så hen til toget ?
Avatar billede cybermazedk Nybegynder
03. oktober 2002 - 20:22 #81
Godt spørgsmål, men hvis du ikke kan gå ... hvordan vil du så gå til København ???

Hmm, var det ikke en lidt kikset pointe ???
Avatar billede soreno Praktikant
03. oktober 2002 - 20:36 #82
muligvis en kikset pointe - muligvis fordi det er en kikset analogi.. :-)

Jeg synes ikke om at man som nybegynder bør sætte sig ned med sit forkromede IDE og lade den gøre alt det grove arbejde. Når man har lært sproget kan man effektivisere kodeskrivningen ved hjælp af diverse IDE faciliteter - men ikke før.
Det er først "trivielt og monotont arbejde, selv en amøbe kunne finde ud af" når man har erfaringen der gør at man har overblikket til at sige at >>dette må kunne effektiviseres<<.
Avatar billede convinius Nybegynder
04. oktober 2002 - 01:04 #83
woow sikke mange indlæg. Tak for dem.........ja ...hmm at jeg tænker i forkerte baner, eller i cases. Det kan godt være. Jeg har som sagt ikke lavet mange programme igen. kun lit i c++ og er lige startet på JAVA.

Nu skal vi egentlig kun lige kunne støbe et program sammen, selvom det for mig kan være svært. Men det drejer sig jo bare om at begynde fra den ene ende af. - Men det ser ud til at jeg IKKE skal arbejde "nedad" som et vandfald. Men som en forvirret nybegynder, som bare splasker koder på et stykke papir først eller på et notepad dokument. Når vi til januasr skal til eksamen i det, skal vi ikke bruge computere. Vi skal skrive koden ind på et stykke papir, og det skræmmer mig....!!

Men sådan bliver det, og så må man are vende sig til det.

Nå men mange og 1000 tak for hjælpen. Og Erik, jeg håber ikke at du stadig er provokeret. Det var der ikke helt grund til, men folk har jo lov til at slippe lidt aggressioner ud, engang imellem.

Endnu engang tak for hjælpen. Grunden til jeg stiller et spørgsmål til eksperten.dk er nok fordi jeg godt kan lide at høre de mange muligheder man kan lave programmet i. Faktisk så har jeg nu indsigt i 3 måder man kan løse opgaven på. Hvis jeg bare sad med det selv,havde jeg lige lavet en version. Men det har da været noget af en opgave. Jeg sov nemlig klokken 4 nat. Men fik som sagt lavet 3 versioner.......

Håber da snart vi ses, vi får nu et program for om ugen. Så det glæder jeg mig til at arbejde med.
Avatar billede convinius Nybegynder
04. oktober 2002 - 01:05 #84
soreno, vil du ikke have point. DU har da også fortjent nogen point?
Avatar billede soreno Praktikant
04. oktober 2002 - 07:23 #85
jeg har selv været til eksamen i objekt orienteret programmering (med java) hvor jeg selv valgte at skrive i hånden - på den måde fokuserede jeg på koden og ikke layoutet af koden. :-)
Avatar billede mr.meincke Nybegynder
23. september 2003 - 22:51 #86
Ved ikke om nogen har sagt det meeen:
int total = 0, ja = 0, ingen = 0, vedikke = 0, resultat = 0, Afslut = 0; / Erklær variablerne.

~~~~>

int total = 0, ja = 0, ingen = 0, vedikke = 0, resultat = 0, Afslut = 0; // Erklær variablerne.



Hehe :P
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