Java (Eclipse) Hjelp?!?

jbc

Hi-Fi entusiast
Ble medlem
17.06.2003
Innlegg
104
Antall liker
0
Kan noen forklare hva jeg gjør feil. Har skrevet tre Java metoder i Eclipse. Regner med det er en syntaksfeil som går igjen i alle, men jeg klarer ikke finne ut hva det er.


Hadde vært glimrende om noen kan hjelpe meg. Øvingsracet på Gløs er allerede i gang, og jeg skulle gjerne fått denne ut av verden.

Jørgen

package oving1;

public class ArrayMethods1 {

/**
* @param args
*/
public static void main(String[] args) {

static int indexOf (int[] tab, int a){
int index = 0;
for(int i = 0; i <tab.length; i++){if(tab=a){index = i;}}

return index;
}

int indexOfSmallest (int[] tab, int a){
int minst = 1000000;
int index = 0;
for(int i = a; i<tab.length; i++){if(tab<minst){index = i;}}

return index;
}

int lastIndexOf (String[] tab, String a){
int index = 0;
for(int i = 0; i<tab.length; i++){if(tab.equals(a)){index = i;}}

return index;
}



}

}
 
N

nb

Gjest
Ærlig talt, du går på Gløs, da koker man:

Kritisk kok (prøve å skjønne hva som skjer)
Fosskok (selvforklarende)
Trykkok (kopimaskin)
Binært kok (kopiere en ferdig fil)

I dette tilfelle kan metode 1,2 eller 4 anbefales
 
N

nb

Gjest
Nå er Javaen min eksepsjonelt rusten, men returnere ikke length antall elementer i arrayet? Da må du referere til length-1 for siste indeks, da Java indekserer Arrays fra 0 og oppover

Edit: Glem det, ser du bruker <length, da burde det ikke være noe problem

God øvingshelg ;D
 

jbc

Hi-Fi entusiast
Ble medlem
17.06.2003
Innlegg
104
Antall liker
0
hehe. Ikke så lett å koke når ingen har lært seg Eclipse programmet ennå.

Problemet er ikke array length. Såpass vet jeg. Det er noe med metode syntaksen som ikke stemmer. Eclipse vil ikke lese metoden som en metode. Altså har jeg gjort noe feil. Men jeg følger den syntaksen som står i læreboken, og på forelesningsfoilene så jeg forstår ikke hva som er feil.

Forslag til hjelp, (Og til nød tørre siv ing vitser) mottas med takk

Jørgen
 

jbc

Hi-Fi entusiast
Ble medlem
17.06.2003
Innlegg
104
Antall liker
0
du glemte forresten "ukritisk kok". Øvinger som er åpenbart gale, men allikevel kokes. :)

Jørgen
 

interman

Hi-Fi entusiast
Ble medlem
27.04.2002
Innlegg
481
Antall liker
1
feilen din er at du har metodene nedenfor main metoden inni main metoden. I tillegg bruker du = istedet for == ved tab=a, og du glemte noe ved indexOfSmallest fordi slik den er nå vil den hele tiden finne ut at tallet den sjekker er mindre enn variabelen minst. Denne her skal fungere:


Kode:
 public class testing {
 
 public static void main(String[] args) {
    int[] a = {2,0,10000000,5,6};
    String[] b = {"hei","og","hå"}; 
    System.out.println("IndexOf gir: " + indexOf(a, 5));
    System.out.println("IndexOfSmallest gir: " + indexOfSmallest(a, 0));
    System.out.println("lastIndexOf gir: " + lastIndexOf(b, "og"));
 }
 
 static int indexOf (int[] tab, int a) {
  int index = 0;
  for(int i = 0; i <tab.length;  i++){
     if(tab[i]== a){index = i;}
     }
  
  return index;
 }
  
 static int indexOfSmallest (int[] tab, int a){
  int minst = 10000;
  int index = 0;
  
  for(int i = a; i<tab.length; i++){
     if(tab[i]<minst) {
        minst = tab[i];
        index = i; 
     }
  }
 
  return index;
 }
  
 static int lastIndexOf (String[] tab, String a){
  int index = 0;
  for(int i = 0; i<tab.length; i++){
     if(tab[i].equals(a)){index = i;}
     }
  
  return index;
 }
 }
 
Topp Bunn