Datorn iFokus

Datorn

Etikettövrigt
Läst 526 ggr
Pandae
2007-10-31 22:42
0

Java-programering

Hej!

tänkte kolla ifall någon kan hjälpa mig här, har fått en uppgift:

Gör ett program som läser hur många studenter som ska delas in i grupper. Kontrollera med hjälp av en while-loop att det inmatade talet inte är mindre än 0 och ge i så fall användaren ett nytt försök att ange hur många studenter som ska delas upp. När antalet studenter blivit godkänt ska en ny dialogruta ge användaren möjlighet att mata in hur stora grupper studenterna ska delas in i. Använd även här en while-loop och godkänn inte svaret förrän det är minst 3 och högst 6.
Gör sedan en uträkning som visar hur många grupper det kan skapas av studenterna, men också hur många studenter som blir utan grupp.

och ska nu få det att funka
har gjort grunderna i koden, och där är säkert fel med:/
tänkte höra om någon kan hjälpa mig göra klart koden + förklara vad jag gör fel och hur jag ska göra

min kod änsålänge ser ut såhär:
        int i;
        int j;
        int antalgrupper;
        boolean slut = false;
        String textFromDialog;
        textFromDialog = showInputDialog("Hur många studenter ska delas in i grupper?");
        i=Integer.parseInt(textFromDialog);
       
        String textFromDialog2;
       
        while (i==0){
        showMessageDialog(null,"för få studenter.");
       
    }
        while (i>0){
        textFromDialog2 = showInputDialog(null,"Välj nu hur många grupper de ska delas in i");
        }
        j=Integer.parseInt(textFromDialog2);
       while (j<=3 || j>=6){
       showMessageDialog(null,"Du får inte ha mindre än 3 eller större än 6 grupper");
       }
       antalgrupper = i/j;
       showMessageDialog(null,"Det blev " + antalgrupper + " grupper");
       slut = true;

och den är änsålänge en evighetskod;P

skrellet
2007-11-01 16:54
0
#1

import static javax.swing.JOptionPane.*;

public class uppgift {
    public static void main(String[] args) {
        int i = 0;
        int j = 1;
        int utanGrupp;

        int antal;
 

        while (i <=0) {
            String textFromDialog = showInputDialog(null, "Hur många studenter ska delas in i grupper?");
            i = Integer.parseInt(textFromDialog);
        }

        while (j<3 || j>6) {
            String textFromDialog2 = showInputDialog(null,"Välj nu hur många grupper de ska delas in i (minst 3 och max 6)");
            j = Integer.parseInt(textFromDialog2);
        }

        antal = i/j;
        utanGrupp = i%j; //räknar ut det som blir över vid en division
        showMessageDialog(null, "Med " +i +" studenter och max " +j +" i gruppen så blir det " +antal
                + " grupper, " +utanGrupp +" blir utan grupp.");

    }

}

skrellet
2007-11-01 17:00
0
#2

while satser upprepas tills villkoret blir uppfyllt, och med

while (i==0){
        showMessageDialog(null,"för få studenter.");
       }

så får inte användaren nån chans att ändra på inmatningen

Pandae
2007-11-01 17:10
0
#3

tack:D

tror jag satt med den tills 12 igår, och då lyckades jag lösa den,
nu har jag nya koder att lösa istället *suck*