AsaMedlem sedan dec. 20011 860 inlägg Hur hämtar man ut högsta respektive lägsta värdet i en array?
Ex så har talen 6, 12, 50, 66, 4, 22 och 37 slumpats fram och ska nu skriva ut dessa med en for loop och standard skall ex en variabel med namn farg ha 0. Är det lägsta talet får den värdet 1 och högsta talet får den värdet 2.
Finns det en färdig funktion för detta? Eller måste man göra en egen funktion?
Kan någon hjälpa mig med detta?
Ex kod.. kanske inte riktigt upplagd men har mer kod men är just detta jag behöver hjälp med
kod kod kod...
int[] kast = new int[7];
for (int i = 0; i < kast.length; i++){
if (talet är högst){
max = 2;
}else if (talet är lägst){
max = 1;
}else{ //om talet är nåt annat
max = 0;
}
System.out.println(max);
}
int maxval=0, minval=99999;
for (int i = 0; i < kast.length; i++){
if (kast[i] > maxval){
maxval = kast[i];
}
if (kast[i] < minval){
minval = kast[i];
}
}
System.out.println(minval);
System.out.println(maxval);
Så där kanske?
Du bör inte använda else i detta fall eftersom det förstör ifall det första elementet är det minsta, eftersom den andra if-satsen inte körs för det talet om du använder else.
AsaMedlem sedan dec. 20011 860 inlägg Supertackar för det. Ska testa och återkommer om jag får problem
AsaMedlem sedan dec. 20011 860 inlägg int maxval=0, minval=99999;
for (int i = 0; i < kast.length; i++){
if (kast[i] > maxval){
maxval = kast[i];
}
if (kast[i] < minval){
minval = kast[i];
}
}
System.out.println(minval);
System.out.println(maxval);
Men hur gör jag i en ifsats sen där jag skriver ut alla dessa värderna med en forloop? Av din kod får man ju ut storsta och minsta värdet men sen då?
Jag vill skriva ut alla men ha olika färg på siffrorna beroende på störst minst och alla andra talen.
Kanske jag som tänker helt fel??
for (int i = 0; i < kast.length; i++){
if (det är störst){
färg är blå
}
if (det är minst){
färg är röd
}
}
AsaMedlem sedan dec. 20011 860 inlägg Så här blev det i den som skriver ut färgerna och det funkade fint :)
kast är alltså det framslumpade talet..
if(kast==maxval){
g.setColor(Color.RED);
}else if(kast==minval){
g.setColor(Color.GREEN);
}else{
g.setColor(Color.BLUE);
}
Japp, det är "rätt" lösning.