November 22, 2001
jo det är så att vi har en java uppgift till skolan som vi ska göra och jag kan verkligen inte java....det är skit jobbigt....så jag vette fan hur jag ska göra....så jag tänkte skriva ner uppgiften här ifall nån skicklig nisse som har lite över skulle kunna ta sig 5 min och göra den? skriva ner koden så jag kan kolla den och kanske lära mig den vägen...för just nu sitter jag här och vet fan inte alls vart jag ska börja...jaja tusen tack i förväg om nån orkar bry sig..
uppgiften:
-------------------------------------------------------------------------------------
Uppgift 3 - Arrayer
Skapa upp en applikation som kan läsa in ett godtyckligt antal heltal i intervallet 0-50. Inläsningen sker från en inputdialogruta(showInputDialog). Applikationen skall räkna hur många gånger respektive heltal slagits in.
Användaren avbryter genom att slå in ett heltal som ligger utanför intervallet eller genom att trycka på ”Avbryt”-knappen på inputdialogrutan. (Kom ihåg – Om användaren trycker på ”Avbryt”-knappen så blir strängen, som alltid returneras av en showInputDialog-ruta, lika med null)
När användaren anser sig klar med att mata in heltal, så skall alla värden som slagits in 1 ggr visas.
Ex) Om 5, 10, 44, 23, 10, 50, 5, 23 och 5 slagits in, så kan följande visas:
5: 3 ggr
10: 2 ggr
23: 2 ggr
44: 1 ggr
50: 1 ggr
-------------------------------------------------------------------------------------
mvh /pemani
January 1, 2003
Pemani wrote: jo det är så att vi har en java uppgift till skolan som vi ska göra och jag kan verkligen inte java....det är skit jobbigt....så jag vette fan hur jag ska göra....så jag tänkte skriva ner uppgiften här ifall nån skicklig nisse som har lite över skulle kunna ta sig 5 min och göra den? skriva ner koden så jag kan kolla den och kanske lära mig den vägen...för just nu sitter jag här och vet fan inte alls vart jag ska börja...jaja tusen tack i förväg om nån orkar bry sig..[snip]
Det är kanske läge att börja plugga lite java då?
Det är väl det som är meningen kanske?
January 1, 2003
I 4th Dimension kan man lösa det såhär (detta är den hjälp du får av mig):
C_INTEGER(OK;$Heltal;$Loop)
C_TEXT($MessageText)
$MessageText:=""
$Heltal:=0
ARRAY INTEGER($SourceArr;0)
Repeat
$Heltal:=Num(Request("Ange ett heltal mellan 0 och 50.";""))
If (OK=1)
If ($Heltal<=50) | ($Heltal>=0)
INSERT ELEMENT($SourceArr;0;1)
$SourceArr{1}:=$Heltal
End if
End if
Until (OK=0)
If (Size of array($SourceArr)>0)
ARRAY INTEGER($ValuesArr;50)
For ($Loop;1;Size of array($SourceArr))
$ValuesArr{$SourceArr{$Loop}}:=$ValuesArr{$SourceArr{$Loop}}+1
End for
For ($Loop;1;Size of array($ValuesArr))
If ($ValuesArr{$Loop}>0)
$MessageText:=$MessageText+String($Loop)+": "+String($ValuesArr{$Loop})+" ggr"+Char(Carriage return )
End if
End for
ALERT($MessageText)
End if
August 14, 2003
November 1, 2002
Bäst är nog att lägga in talen i ett sökträd. Börja med en klass TreeNode:
package tree;
class TreeNode {
int num;
int freq;
TreeNode left;
TreeNode right;
TreeNode(n) {
num = n;
freq = 1;
left = null;
right = null;
}
}
public class Tree {
TreeNode root;
Tree() {
root = null;
}
public void insert(int n) {
root = insert(n, root);
}
private TreeNode insert(int n, TreeNode t) {
if (t == null) {
return new TreeNode(n);
}
else if (n == t.num) {
t.freq++;
}
else if (n < t.left.num) {
t.left = insert(n, t.left);
}
else if (n > t.right.num) {
t.right = insert(n, t.right);
}
return t;
}
}
import tree.*;
class Program {
public static void main(String[] argv) {
Tree t = new Tree();
while (int tal = läs in && tal >= 0 && tal <= 50) {
t.insert(tal)
}
}
}
Resten får du klura ut själv. Använd preorder för att traversera trädet.
1 Guest(s)