Programmering.
Lite Ruby?
ActionScript 3.0 är det enda jag kan inom programmering, utom LIIIIITE, så lite att det knappt är nämnbart, c++.
Och HTML&CSS, men ah.
någon som har koll på StringTokenizer i java? är lite seg och har fått som uppgift att koda en chattbott som ska ge svar beroende på vad man skriver in, men grejen är att det funkar bara för första "exemplet". någon som vet hur man får java att kolla alla ord osv?
koden, ungefär:
public class ELIZA {
public static void main(String[] args){
System.out.println("Hej, vilket är ditt favoritdjur?");
String x = Keyboard.readString();
StringTokenizer st = new StringTokenizer(x);
while (st.hasMoreTokens()){
if (st.nextToken().equalsIgnoreCase("katt")){
System.out.println("Jaså, är du en kattmänniska? Vilken är din favoritras?");
}
else if (st.nextToken().equalsIgnoreCase("hund")){
System.out.println("Åh, en hundmänniska! Vilken är din favoritras?");
}
}
else if (st.nextToken().equalsIgnoreCase("häst")){
System.out.println("Jaså, vilken är din favoritras?");
}
}
}
}
Citat från aker
någon som har koll på StringTokenizer i java? är lite seg och har fått som uppgift att koda en chattbott som ska ge svar beroende på vad man skriver in, men grejen är att det funkar bara för första "exemplet". någon som vet hur man får java att kolla alla ord osv?
koden, ungefär:
public class ELIZA {
public static void main(String[] args){
System.out.println("Hej, vilket är ditt favoritdjur?");
String x = Keyboard.readString();
StringTokenizer st = new StringTokenizer(x);
while (st.hasMoreTokens()){
if (st.nextToken().equalsIgnoreCase("katt")){
System.out.println("Jaså, är du en kattmänniska? Vilken är din favoritras?");
}
else if (st.nextToken().equalsIgnoreCase("hund")){
System.out.println("Åh, en hundmänniska! Vilken är din favoritras?");
}
}
else if (st.nextToken().equalsIgnoreCase("häst")){
System.out.println("Jaså, vilken är din favoritras?");
}
}
}
}
Jag är egentligen fel person att svara på det då jag inte kodat java på några år och allmänt inte tycker om språket. Dock så tror jag du får satsa lite mer på att läsa på hur AI fungerar innan du ger dig på avancerade chatbottar. Det är inte direkt ett lätt projekt.
Tex om du skulle mata in "Jag vet inte... men jag hatar hundar!" i den där skulle den tolka det som att du är hundmänniska och fråga dig om ras vilket är lite missvisande...
Om du endå vill fortsätta med java skulle jag satsa på att skapa en djurhierarki med enkel polymorphism för att kunna ge respons för flera djur
tex skapa en klass med en sak alla djur har gemensamt (namn, vetenskapligt namn, vikt, längd etc). Skapa sedan en subklass för djurtyp ex däggdjur. och fortsätt så tills du har skapat en bra hierarki för djur.
Vill du att programmet skall kunna ge intelligenta svar om djuret så låt varje djur ha en del frågor som är unika för det djuret och stränga upp det...
tex så kanske katt har en sträng "ras". När användaren säger en ras så sparas det i den variabeln.
Om du sedan hittar ett sätt att läsa och skriva den lärda infon till filer eller sockets så kan du förmodligen få din primitiva bot att lära sig om en person...
men ja som du märker. Det är inte ett litet projekt du har gett dig in i.
men vill du bara kontrollera om ett ord finns i en sträng så finns det säkert någon ball klass för att hitta index till ordet som returnerar -1 om den inte hittas..
typ string.IndexOf("ord");
jag är fullt medveten om att det är en svår grej och att det inte går att skriva som jag gjort för att det låter ovärkligt. jag vill bara veta hur jag ska göra, så att jag har någon anledning att bygga ut koden och något att grunda den på. och nej, jag kan inte byta språk, jag går i skolan och ska lära mig saker.
och vi håller på med StringTokenizer, inte något annat så
Citat från aker
jag är fullt medveten om att det är en svår grej och att det inte går att skriva som jag gjort för att det låter ovärkligt. jag vill bara veta hur jag ska göra, så att jag har någon anledning att bygga ut koden och något att grunda den på. och nej, jag kan inte byta språk, jag går i skolan och ska lära mig saker.
och vi håller på med StringTokenizer, inte något annat så
Det var inte meningen att vara dryg.
nej, samma här. men börjar bli irriterad på det :( får fråga min lärare sen
Om html, css & php räknas så, ah.
Citat från aker
nej, samma här. men börjar bli irriterad på det :( får fråga min lärare sen
Men har du testat att googla på det och kolla på exemplena? I vilket fall kanske jag kan vara snäll och hjälpa dig
här kontrollerar du ifall ordet "katt" finns i insträngen (tror jag).
[kod]
StringTokenizer st = new StringTokenizer(in_str);
while (st.hasMoreTokens()) {
if(st.nextToken() == "katt") {
//göra coola saker här om den hittar kattsträngen.
}
}
[/kod]
StringTokenizer's kontrukstor plockar en sträng som första argument. om du inte ger den mer så antar den att du vill använda ett blanksteg som separator för varje token. nextToken() levererar bara nästa del av separatorn (i vårt fall ord).
hoppas det hjälpte.
ja, jag vet :( precis så jag har skrivit juu
men den kollar inte nästa exempel osv, får bara error. så om jag skriver in "hund" så får jag bara error, men när jag skriver in "katt" så funkar det
string tokenizer är alltså bara ett objekt som kapar upp saker och separerar dem med en vald separator. blankteg per default...
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
ja? fattar inte vart du vill komma :( det där vet jag redan
Du måste vara inloggad för att skriva i forumet