Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Ich möchte 10 Werte einlesen und diese anschliessend in umgekehrter Form wieder darstellen. Was mache ich falsch beim einlesen? liegt es daran, dass die zeichen in char eingelesen werden?
Code:
/*
* Created on 06.06.2005
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package aufgaben.modul_I_teil2;
import java.io.IOException;
/**
* @author jairo
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class Aufgabe7 {
// Schreiben Sie ein Programm, dass 10 Werte von der Konsole einliest
// und diese in umgekehrter Reihenfolge wieder ausgibt.
public static void main(String[] args) throws IOException {
int nums[] = new int [10];
int i;
//BufferedReader nums[i] = new BufferReader ( new InputStreamReader( System.in ) );
for(i=0; i<10; i = i+1){
nums[i] = System.in.read();
;
System.out.println("[" + nums + "]" + "\t" + i);
}
}
}
Mit dem Parsen habe ich es auch schon versucht. Was mache ich aber genau falsch beim Parsen:
Code:
/*
* Created on 06.06.2005
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package aufgaben.modul_I_teil2;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/**
* @author jairo
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class Aufgabe7 {
// Schreiben Sie ein Programm, dass 10 Werte von der Konsole einliest
// und diese in umgekehrter Reihenfolge wieder ausgibt.
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line;
int nums[] = new int [10];
int i = 1;
System.out.println("Wert eingeben ");
line = br.readLine();
for(i=0; i<10; i = i+1){
nums[i] = System.in.read();
nums[i] = Integer.parseInt(line);
System.out.println("[" + nums + "]" + "\t" + i);
}
}
}
Mit "[" + nums + ... verwandelst du den Array "nums" in einen String. Das sieht seltsam aus, weil dabei ein String mit dem Typ "[I" und der Speicheradresse "bd0108" generiert wird.
Egal, du willst ja nicht den ganzen Array ausgeben, sondern nur ein einzelnes Element!
Deshalb solltest du in deinem println "nums" (=ganzer Array) durch "nums" (=Element i im Array nums) ersetzen.
Mit "[" + nums + ... verwandelst du den Array "nums" in einen String. Das sieht seltsam aus, weil dabei ein String mit dem Typ "[I" und der Speicheradresse "bd0108" generiert wird.
Mit "[" + nums + ... verwandelst du den Array "nums" in einen String. Das sieht seltsam aus, weil dabei ein String mit dem Typ "[I" und der Speicheradresse "bd0108" generiert wird.
Mit "[" + nums + ... verwandelst du den Array "nums" in einen String. Das sieht seltsam aus, weil dabei ein String mit dem Typ "[I" und der Speicheradresse "bd0108" generiert wird.
Ist dem wirklich so?? Also ich habe jetzt schon so oft (auch hier im Forum!) gelesen dass der Hashcode nix mit der Speicheradresse zu tun hat... kann man das irgendwo (zuverlässig richtig) nachlesen?
Ich habe (auf die schnelle) nur gesehen, dass die Methode hashcode nativ ist (was noch kein Beweis ist, dass auch die Speicheradresse zurückgegeben wird...) und ansonsten nur die Behauptungen hascode und Speicheradresse haben nix miteinander zu tun... lasse mich aber gerne belehren.
This is typically implemented by converting the internal address of the object into an integer, but this implementation technique is not required by the JavaTM programming language.
This is typically implemented by converting the internal address of the object into an integer, but this implementation technique is not required by the JavaTM programming language.
Habe ich gelesen, mir war (ist) jedoch nicht klar, dass 'internal address' mit Speicheraddresse übersetzt wird... mir war halt nicht klar, ob die reale Speicheraddresse im System oder eine (evtl. andere) Adresse in der VM gemeint war... naja, ist auch eigentlich egal...