29. december 2000 - 03:58Der er
13 kommentarer og 2 løsninger
char...
hvad gør jeg forkert? Der er to strings som skal sammenlignes og hvis der er to \'0\' på samme pladser i begge strings skal den returnere 0 ellers 1..? public class Opgave7 { public static void main(String[] args) { String string1 = \"01101000\"; String string2 = \"00101110\";
Du glemmer at \'samle\' resultatet efter hver sammenligning og toStrings-funktionen returnerer derfor kun 0 eller 1 alt efter den sidste sammenligning. Desuden returnerer du en char i stedet for en String som du ellers har angivet returværdien for funktionen til at være. Nedenstående kode skulle rette fejlene (eller i hvert fald give dig en ide til løsningen, da jeg ikke har testet koden).
public class Opgave7 { public static void main(String[] args) { String string1 = \"01101000\"; String string2 = \"00101110\";
public static String toStrings(String a, String b) { String result = \"\"; for (int i = 0; i < a.length() && i < b.length(); i++) { char ch1 = a.charAt(i); char ch2 = b.charAt(i);
nedenstående løser problemet lidt bedre. du skal nok også lige køre et check på længden af de to strenge inden for-løkken - slut-betingelsen er ikke god. kan strengene have forskellig længde? jeg er heller ikke sikker på, at jeg forstår opgaveformuleringen korrekt!
public class Opgave7 { public static void main(String[] øf) { String streng1 = \"01101000\"; String streng2 = \"11101111\";
/** En metode der fortæller om tallet 0 forekommer på samme plads i to strenge mindst én gang. @param a en streng indeholdende en kombination af tallene 0 og 1 @param b en streng indeholdende en kombination af tallene 0 og 1 @return et heltal, 0 hvis betingelsen er opfyldt ellers 1 */ public static int undersøgStrenge(String a, String b) { for (int i = 0; i < a.length() && i < b.length(); i++) { if(a.charAt(i)==\'0\' && b.charAt(i)==\'0\') return 0; } return 1; } }
der er ingen af de to løsninger der virker. cbp: hvad er concat? Det har jeg ikke set før. kama: de har samme længde. Hvis jeg har to strenge som streng1 og streng2 i opgaven, skal den returnere 01101110
codemon>> det var vel nok trist for tt25, at han ikke fattede dit elegante svar. Det var ellers lige hvad han havde brug for. Men ved at aflevere en stor styg algoritme, viser han jo den lærer der stillede opgave 7, at han kan programmere. Så må vi bare håbe, at læreren ikke kigger her på eksperten - eller beder ham om at forklare hvad der foregår ;-)
pstric...sig mig, skal man kunne finde ud af alt det folk skriver tilbage til en for at kunne stille et spørgsmål her? den store styge kode, er det jeg kan i øjeblikket og læreren skal nok blive mere end lykkelig...nu må jeg bare håbe at den tid hvor jeg også kan anvende codemans kode kommer snart. Man er vel her for at få lidt hjælp? og forresten, så er det en hun som havde brug for lidt hjælp til koden....:-)
Mit svar skulle nok have været en kommentar. Der var jo svaret på det.
Det er nok pstric\'s svar der er meningen med opgaven, men tak for at kalde den elegant.
Er der forresten nogen som kan give en god forklaring på hvorfor der ikke er binær konvertering i fx Byte-klassen, det burde da netop være for enkelte bytes der er brug for det.
codemon>> mener du binær konvertering med decode? Så kan du da bare bruge parseByte(s, 2), men hvis du gerne ville have det i decode(), så har du nok en pointe der. Som så gælder for alle Number-klasser. Eller har jeg helt misforstået dit spørgsmål?
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.