[java] hoe pas ik array's toe

Pagina: 1
Acties:
  • 42 views sinds 30-01-2008

  • Romke
  • Registratie: Januari 2004
  • Laatst online: 06-01 19:34

Romke

Dieselhead

Topicstarter
Ik wil met java array's toepassen, maar ik weet nie hoe.

een duidelijke uitleg over de hele methode graag.

Mijn opdracht is:

Maak een overhoor-programma,
warbij het proggie steeds een land
geeft en je er de hoofdstad bij moet typen. er moet iets leuks op het scherm verschijnen . het programma moet ook andersom werken

If you buy a rubbish car, you say: I have no interest in cars. If you have no interest in cars, you have no interest in driving. And if you have no interest in something, it means you are no good at it, which means you must have your license taken away.


  • Fl4sh3r
  • Registratie: Juni 2002
  • Laatst online: 26-03 21:19
Even een korte uitleg, allicht helpt het je iets verder:

Referentie type Array

· Een array wordt gebruikt om meerdere variabelen van hetzelfde type op te slaan.
· Let op, het tellen begint bij 0.

stap 1, declaratie

int[] a;

nu is a een reference variabele

stap 2, initialisatie

a = new int[3];

nu wijst de reference a ergens naar

stap 3, waarden geven

a[0] = 23;
a[1] = 45;
a[2] = 67;

nu is het array a gevuld


stap 1 en 2 kunnen samen int[] a = new int[3];
stap 1, 2 en 3 ook int[] a = {23, 45, 67};
stap 2 en 3 niet int[] a;
a = {23, 45, 67};//fout

Arrays doorlopen

Voorbeeld 4

int[] a = new int[100];
for (int i = 0; i < a.length; i++) {
a[i] = 2*i + 1;
}

· Let op, length is een attribuut van een array en geen methode zoals length() bij klasse String.

Voorbeeld 5

import java.io.*;

class Main {
public static void main(String[] arg)
throws IOException {
String[] woorden = new String[5];
InputStreamReader isr =
new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
System.out.println("geef vijf woorden");
for (int i = 0; i < woorden.length; i++) {
System.out.print((i+1)+ " >> ");
System.out.flush();
woorden[i] = br.readLine();
}
System.out.println("de woorden zijn:");
for (int i = 0; i < woorden.length; i++) {
System.out.println(woorden[i]);
}
}
}

Arrays kopiëren

ondiepe kopie

int[] a = {23, 45, 67};
int[] b = a;


diepe kopie

int[] a = {23, 45, 67};
int[] b = new int[a.length];
for (int i = 0; i < a.length; i++) {
b[i] = a[i];
}


alternatief 1

int[] a = {23, 45, 67};
int[] b = (int[]) a.clone();


alternatief 2

int[] a = {23, 45, 67};
int[] b = {0, 0, 0};
System.arraycopy(a, 0, b, 0, 3);

· Let op, bij gebruik van
public static void System.arraycopy() moet bestemming bestaan en met voldoende lengte geïnitialiseerd zijn,
int[] b = new int[3]

edit:
Geschreven door een docent 1JAVA2 aan de HvU

[ Voor 4% gewijzigd door Fl4sh3r op 02-02-2004 09:38 . Reden: Had even moeten aangeven dat dit door een docent van mij is opgesteld ]


  • Fl4sh3r
  • Registratie: Juni 2002
  • Laatst online: 26-03 21:19
Dus om het op jouw probleem toe te spitsen:

String[][] landPlaats = new String[10][2]; //10 landen

landPlaats[0][0] = "Nederland";
landPlaats[0][1] = "Amsterdam";

landPlaats[1][0] = "België";
landPlaats[1][1] = "Brussel";

landPlaats[2][0] = "Frankrijk";
landPlaats[2][1] = "Parijs";

// etc

  • narotic
  • Registratie: Maart 2002
  • Laatst online: 02-11-2021
Wellicht is het voor een overhoorprogramma niet het handigst om een array te gebruiken. Ik zou je een Set/Collection of Vector aanraden, aangezien je hiervoor geen gefixeerde lengte hoeft te definieren.

Als Object kun je hier zelf een Association in de vorm van Land -> Naam definieren.

Meer info uiteraard in de API specificatie op http://java.sun.com

- = Step Into The Pit | Industrial Strength = -


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

anti-XP schreef op 02 februari 2004 @ 09:30:
Ik wil met java array's toepassen, maar ik weet nie hoe.

een duidelijke uitleg over de hele methode graag.
Goh u bestelt nogal. Moet ik u nogal teleurstellen dan: GoT in het algemeen en P&W in het bijzonder is geen McDonalds voor al uw snelle development-afhaalvraagjes.
Mijn opdracht is:

Maak een overhoor-programma,
warbij het proggie steeds een land
geeft en je er de hoofdstad bij moet typen. er moet iets leuks op het scherm verschijnen . het programma moet ook andersom werken
Huiswerk mag dan sinds een tijdje weer toegestaan zijn, dit soort topics zijn de originele reden voor het algehele verbod destijds geweest. Huiswerkvragen op GoT zijn toegestaan tegenwoordig mits je duidelijk aangeeft dat je de opdracht zelf aan het uitvoeren bent, voldoende voorwerk zelf hebt verricht, en niet enkel om uitgewerkte kant-en-klare code komt vragen.

Oftewel :w genoeg Java-documentatie op internet te vinden.

[ Voor 3% gewijzigd door curry684 op 02-02-2004 10:06 ]

Professionele website nodig?


Dit topic is gesloten.