4 svar
63 visningar
Teknikare 19
Postad: 1 okt 2020

Omvänd array

Hej! Har en uppgift som jag fastnat med.

"Skriv nu ut arrayen i omvänd ordning (swap-teknik)."

 

Min kod ser ut såhär, hur ska jag göra för att få talen i omvänd ordning?:

int[] hyllor = new int[10];
int random = (int)((Math.random()*999)+100);

hyllor[0] = random;
hyllor[1] = (int)((Math.random()*999)+100);
hyllor[2] = (int)((Math.random()*999)+100);
hyllor[3] = (int)((Math.random()*999)+100);
hyllor[4] = (int)((Math.random()*999)+100);
hyllor[5] = (int)((Math.random()*999)+100);
hyllor[6] = (int)((Math.random()*999)+100);
hyllor[7] = (int)((Math.random()*999)+100);
hyllor[8] = (int)((Math.random()*999)+100);
hyllor[9] = (int)((Math.random()*999)+100);

System.out.println("Talen är: " + (Arrays.toString(hyllor)));


Laguna 10971
Postad: 1 okt 2020

Får du använda loopar?

Vad är swap-teknik?

Teknikare 19
Postad: 20 okt 2020
Laguna skrev:

Får du använda loopar?

Vad är swap-teknik?

Vår lärare kallade det för swap-teknik, tror vi får använda loopar. Jag är verkligen inte insatt i programmering, behöver all hjälp jag kan få!

Att fylla hyllor med tio nästan likadana kodrader är onödigt mycket skrivande. Om du behöver en array med tusen element blir det väldigt mycket skrivande (och läsande!). Det är lämpligare att använda en loop.

Svårt att förstå vad din lärare menar med "swap-teknik". Hen kanske menar den swap-metod som finns i klassen Collections som kan användas för att byta plats på två element i en lista. Kanske menar hen att listan ska sorteras med hjälp av bubble sort eller liknande (bättre) sorteringsalgoritm som byter plats på element i en lista.

Laguna 10971
Postad: 20 okt 2020 Redigerad: 20 okt 2020

Man kan skriva ut talen i omvänd ordning utan att ändra i arrayen, och eftersom det står så så skulle jag göra det. Man kan också ändra arrayen så att elementen är i omvänd ordning och sedan skriva ut hela arrayen med println och toString. Då kan man t.ex. byta plats på två element i taget, antingen med nån inbyggd metod, som Lindehaven föreslog, eller själv, med hjälp av en temporärvariabel (det kanske är det som menas med swap-teknik). Här byter jag plats på två av dem:

int tmp;
tmp = hyllor[0];
hyllor[0] = hyllor[9];
hyllor[9] = tmp;

Svara Avbryt
Close