07. februar 2014 - 09:58Der er
8 kommentarer og 1 løsning
hjaelp til opgave paa Practice It (arrays)
Hej eksperten, jeg skal skrive en metode der returnere true hvis array1 indeholder samme frekvens af tal som array2. Jeg faar dog en fejl paa sidste test (returnere false).
så er array2 ikke fundet i array1, lige på DEN position i Array1. Skal der ikke ledes videre! Hvilken effekt har placeringen af return result på at der bliver ledt videre?
indikationen i #3 var lidt ved siden af, men det drejer sig stadig om hvordan yderste lykke afsluttes - leg med System.out.println("I="+i); forskellige steder.
Tak for svaret men synes desvaerre stadig jeg sidder fast. Jeg har proevet mange slutninger i det sidste loop men der opstaar bare en ny fejl. Koden virker fint for metodekald contains(array1, array2) og for contains(array3, array4) men ikke for contains(array5, array6), kan ikke se hvor fejlen er?
Ok - det er jo en lille ting, så du får hvad jeg anser som svaret:
Når du havner i .. } else { result = true;
hvor variabel 'i' peger på position 10 i array1 (der efterfølges af 5 ottetaler) er der fundet et match med de fem ottetaler i array2 er vi færdig - har fundet array2 i array1 og skal bare afslutte med true Som din kode er forsættes i ydeste 'for' lykke og ender med at undersøge om {8,8,8,-1,8} er i array2 og returnerer dermed false.
Selvtak - fornøjelsen er også lidt på min side. Med anvendelsen af 'return' som aktiv del afviklingssekvensen samt et par andre cowboytricks kan 'contains(...)' reduceres til
public static boolean contains(int[] heystack, int[] needle) { for (int i = 0,j; i <= heystack.length - needle.length; i++) { for (j=needle.length-1;j>=0 && needle[j] == heystack[i+j]; j--); if (j==-1) return true; } return false; } Prøv at søge på strindex(char s[], char t[])
I følgende 1988 udgave af Dennis Ritchi og Brian Kerninghans legendariske bog.
Selvom det handler om et sprog med pointer kan mange eksempler godt laves i Java vha. indekser - synes jeg, men det kan måske være fordi jeg forstår hvad der menes i C
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.