Programmering.
Citat från lusius
Ah jag har ditt fel.. men har du msn så kan vi ta det fortare där?
Felet nu ligger i att du plockar ur ord som inte finns
hmm, alright. reka_@hotmail.se
Jag vet inte riktigt, var ett tag sen jag sysslade med programmering öht nu och jag har ingen dator med javakompilator installerad så jag kan inte testa, men problemet borde väl ligga i att du letar efter tokens som inte finns?
[code]
public class ELIZA {
public static void main(String[] args){
System.out.println("Hej, vilket är ditt favoritdjur?"); // printa förfrågan.
String x = Keyboard.readString(); // skapa strängen
StringTokenizer st = new StringTokenizer(x); // skapa tokenizer
while (st.hasMoreTokens()){ // så länge som st har fler tokens...
if (st.nextToken().equalsIgnoreCase("katt")){ // om next token (alltså token #0) = katt/Katt/kaTt osv. så outputar du det som står här nedan.
System.out.println("Jaså, är du en kattmänniska? Vilken är din favoritras?");
}
else if (st.nextToken().equalsIgnoreCase("hund")){ // om next token (som nu blir #1 och därför inte existerar) är hund/Hund/hUnD osv, så får du en output på det som står här nedan.
System.out.println("Åh, en hundmänniska! Vilken är din favoritras?");
}
}
else if (st.nextToken().equalsIgnoreCase("häst")){ //next token = #3
System.out.println("Jaså, vilken är din favoritras?");
}
}
}
}
[/code]
så, för att testa om det är så detta funkar så kan du när du kommer till input skriva "katt hund häst" så borde du få alla 3 outputs. Det skulle vid framtida requests underlätta om ni bifogade länk/bild på felmeddelandet ;D
ah, fått hjälp men inte kollat än, ska göra det imorgon på lektion så :) tack ändå!
okej :) skulle vara kul om du kunde posta här sen och berätta hur du löste det ^^
kan jag nog göra! när det är klart osv :)
Jag läser Programmering A/B under det här läsåret, och vi skriver i C#. Har inte kommit långt än.. xD
Problemet i akers kod låg i att varje st.nextToken() plockar ett ord från strängen.
varje loop kontrollerar bara en gång per loop om det finns ord kvar dvs.
lösningen är att i varje loop lagra ordet i en sträng och sen checka den strängen. för om du använder st.nextToken() att checka rakt av så kommer du bara kunna checka en gång.
I C hade det varit som att skriva
while(i<10) {
if(string[++i] == 'c')
else if(string[++i] == 'a')
else
etc...
}
denna skulle krascha av samma anledning
class ELIZA {
public static void main(String[] args){
System.out.println("Hej, vilket är ditt favoritdjur?");
String in = Keyboard.readString();
//Skapar en stringtokenizer
StringTokenizer st = new StringTokenizer(in);
while (st.hasMoreTokens()){
String test = st.nextToken();
test.toLowerCase();
//kollar om något av orden stämmer
if(test.equals("häst")){
System.out.println("Hej häst");
//avbryter loopen om det skulle stämma
break;
}
else if(test.equals("ko")){
System.out.println("kofanskap");
break;
}
else{
System.out.println("känner inte igen det djuret...");
break;
}
}
}
}
med lite hjälp av lusius fick jag en någorlunda grundkod som man kan bygga vidare på, den som undrade, vem det nu var!
Jao, okej, då var det alltså typ som jag sa också ^^
härligt att du fick rätt på det iaf :)
Citat från lusius
Citat från Ferial
Jao, okej, då var det alltså typ som jag sa också ^^
härligt att du fick rätt på det iaf :)
Oi. kodar du någe C? Behöver en utvecklare för 3d.
För närvarande kodar jag inget alls, Datorn är rätt trasig.
Det hade varit skitkul, dock är mina kunskaper inom C rätt så jättebegränsade då jag enbart sysslat med kretskodning i C, på högskolan.
Citat från Ferial
Citat från lusius
Citat från Ferial
Jao, okej, då var det alltså typ som jag sa också ^^
härligt att du fick rätt på det iaf :)
Oi. kodar du någe C? Behöver en utvecklare för 3d.
För närvarande kodar jag inget alls, Datorn är rätt trasig.
Det hade varit skitkul, dock är mina kunskaper inom C rätt så jättebegränsade då jag enbart sysslat med kretskodning i C, på högskolan.
Kretskodning? Du menar vanlig embedded-system programmering? typ avr och liknande.
GML FTW!!!! :DDDD
Kan lite PHP, HTML och CSS också. Även väldigt lite C++ och Java :D
För de som undrar så är GML det inbyggda språket i speltillverkarprogrammet Game Maker. (www.yoyogames.com).
Må GML vara enkelt men bättre än typ RPG maker iaf :D (video ifrån 2006)
gillar hur du rakt av rippar ljud från aoe(gissnig?) och warcraft 3 :D
Du måste vara inloggad för att skriva i forumet