Skapa en array som ökar med 1 varje gång en ny array[i] skapas.

Permalänk

Skapa en array som ökar med 1 varje gång en ny array[i] skapas.

Vad jag vill är att kunna använda denna kod som är anpassad från en String array.

public static int[] removeArticle(int[] array) { int[] removeFromArray = new int[array.length - 1]; int removeArt = sc.nextInt(); int indexLess = 0; for(int i = 0; i < array.length; i++) { if(!(array[i] == removeArt)) { removeFromArray[indexLess] = array[i]; indexLess++; } } return removeFromArray; }

Men för att jag ska kunna göra detta samtidigt som jag har en array som ser ut så här.

int size = 5; int[] arr = new int[size]; for(int i = 0; i < arr.length; i++{ System.out.println(arr[i]); }

Om jag skriver ut den här arrayn så kommer varje arr[i] ha samma värde 0 vilket innbär att min method för att ta bort ett element inte kommer fungera som den ska då alla kommer vara nämna 0 därför kan man inte välja vilken 0 som ska tas bort.
Om jag använder Math.random kan jag få ett resultat likt det jag vill ha.

int size = 5; int[] arr = new int[size]; for(int i = 0; i < arr.length; i++{ arr[i] = (int) (Math.random()*10)+1; System.out.println(arr[i]); }

Nu kommer varje arr[i] vara värt ett random tal mellan 1 och 10 vilket innbär att jag kan använda methoden och ta bort ett element om jag skriver in det random tal som det elementet har blivit tilldelad. Om jag nu skapar om arrayn så kommer det elementet vara borta utan problem.

Hoppas frågan är förstålig och tackar i förväg.

Permalänk
Medlem

Du har tillgång till i som ökar med 1 varje iteration.

int size = 5; int[] arr = new int[size]; for(int i = 0; i < arr.length; i++){ arr[i] = i; System.out.println(arr[i]); }

Permalänk
Medlem

Jag förstår inte riktigt vad du menar, men det låter som att du är ute efter det här:

int size = 5; int[] arr = new int[size]; for(int i = 0; i < arr.length; i++{ arr[i] = i; System.out.println(arr[i]); }

Det borde printa:

0 1 2 3 4

Permalänk
Skrivet av lydell:

Jag förstår inte riktigt vad du menar, men det låter som att du är ute efter det här:

int size = 5; int[] arr = new int[size]; for(int i = 0; i < arr.length; i++{ arr[i] = i; System.out.println(arr[i]); }

Det borde printa:

0 1 2 3 4

Exakt det jag ville.

Permalänk
Skrivet av thompa89:

Du har tillgång till i som ökar med 1 varje iteration.

int size = 5; int[] arr = new int[size]; for(int i = 0; i < arr.length; i++){ arr[i] = i; System.out.println(arr[i]); }

Exakt det jag ville.