Programmering.
Citat från Elefanton
Blä, okej. Håller på med ett skolprojekt i programmering där jag gör ett Quiz-liknande program i Java.
Jag har kommit så långt att jag lyckats skapa en frame med knappar och diverse för de olika alternativen till frågorna.
Och har skrivit ner alla frågor samt svarsalternativ i variabler osv. Sen shufflat in frågorna i en slumpmässig ordning.
Men vettefan hur jag ska få själva programmet att köras rent generellt (omg oförståelig beskrivning av problem incoming). Tänkte att man kan ju använda actionlistener till knapparna. Men hur får jag liksom programmet att köra igenom frågorna systematiskt, och ändra på knapparna varje gång en fråga besvarats.
Är det någon komplicerad switch-sats eller liknande?
#Pls #help #noob #java #programmer #desperate
for(Fråga fråga : frågor){
//Ställ frågan
//vänta på svar
}
EDIT: Detta förutsatt att varje fråga är ett objekt i en array/arraylist, vilket kan vara att föredra.
Citat från SUPSON
Citat från Vampyr
Citat från lusius
Jahapp. Ja jag är trött. I min värld kallade vi det alltid referenser på jobbet men jag kanske är övertrött eller något.
Aja det är inte alls mitt område så i'm out. Jag antar att du har strul som RobzalSHD eller hur det nu stavade påpekade med pass-by-value/reference.
Har iallafall lärt mig att det är det som är pointers av min programmeringslärare som verkar relativt insatt.
Jag hade en 2d-array som jag fyllde med värden, sen skrev jag array2 = array1, vilket gjorde att varje gång jag ändrade ett värde i den ena arrayen så ändrades det också i den andra.
Ganska säker på att han har förklarat det fel då.
Pointers är ett sätt att förvara adresser och en pointer kan peka till mer än ett objekt.
Referenser (det som används i Java) pekar till ett enskilt objekt och du kan inte byta objektet det pekar till.
Tyckte väl att det kändes så. Aja either way, du fattar vad jag menar :D
Citat från Elefanton
Citat från Vampyr
for(Fråga fråga : frågor){
//Ställ frågan
//vänta på svar
}
EDIT: Detta förutsatt att varje fråga är ett objekt i en array/arraylist, vilket kan vara att föredra.
Ja det är dom! Men du får nog vara med specifik ;___;
ArrayList<Question> questions = new ArrayList<Question>();
Scanner sc = new Scanner(System.in);
questions.add(new Question("Är elefanter bruna?","Ja","Nej"));
questions.add(new Question("Vilken färg har bananer?","Brun","Grön","Gul"));
for(Question question : questions){
System.out.println(question.getQuestion());
String[] answers = question.getAnswers();
for(int i = 0;i<answers.length;i++){
System.out.println("Svar nr. " + i + ": " + answers[i]);
}
System.out.print("Välj svar: ");
int answer = = sc.nextInt();
//Kontrollera att svarsnumret finns
if(question.checkAnswer(answer)){
//Hurra!
}else{
//Åh nej
}
}
sc.close();
Typ sådär kan du göra. Använder mig inte utav knapparna och sånt som finns inbyggt så du får själv lägga till support för dom.
Fast ska du använda knappar så får du göra lite annorlunda. Då får du sätta en variabel för vilken fråga man är på, typ currentQuestion, som ökar med ett varje gång du svarar (om du inte kommit till slutet av arraylisten, då kan programmet avslutas eller så kan currentQuestion sättas till 0 för att loopa) samtidigt som nästa fråga och svarsalternativ hämtas.
clever
ska fan testa skiten ur det där när jag väl fått upp eclipse!
tack så mikket
hållt på med html/css och lite java i många år, slagit mig först nu att börja lära mig nåt nytt, så har börjat kika på Ruby on rails!
På tal om Java, vad har int värdet för roll i System.exit(int); ?
Vet inte hur det ser ut i andra språk.
Jaha, så det är bara till för typ.. error/bugg-sökning?
Citat från Elefanton
Jaha, så det är bara till för typ.. error/bugg-sökning?
Eller om du kör ett program genom ett annat program, t.ex. en installer för ett spel som kör en installer för directx och vill veta om installationen lyckades
varje gång jag tror att jag löst något => blir det mer problem
varför försöker jag ens
/commit suicide
returvärdet hanteras olika av olika operativsystem men vanligen är det till för att kontrollera programmets exekvering.
Tex om du gör ett program som hittar en användare på ditt system kan du scripta enklare med det om du hanterar returvärden.
exempel i nå pseudokod
int main(int argc, char **argv)
{
if(argc==2)
return ( user_exists(argv[1]) ) 0 ? -1;
return -2;
}
#!/bin/derp
if [ ./program $1 -eq 0 ]
echo user exists
fi
Citat från Elefanton
varje gång jag tror att jag löst något => blir det mer problem
varför försöker jag ens
[img]http://25.media.tumblr.com/tumblr_m0sxcp8N0y1rqfhi2o1_250.gif[ img]
/commit suicide
Det är så det fungerar när man lär sig programmera. Det är ju det roligaste, tycker jag. Problemlösning ftw
Är väl lite det som är programmering, problemlösning.
Du måste vara inloggad för att skriva i forumet