Folgender Code:
erzeugt folgende Ausgabe:
So nun zu meinem Problem. Ich schätze der Code an und für sich ist selbsterklärend, darum möchte ich auch nicht weiter drauf eingehen wofür er da ist und was er tun soll.
Mein Problem ist das 'printed_arr' in der function 'output' 98Keys zuviel hat. Ich habe ein wenig rumgespielt und es hat sich herausgestellt das printed_arr immer genauso viele Keys hat wie input_arr. Die Frage wieso hat dieser 100 wenn er aber über den Parameter einen Array mit 2 Keys übermittelt bekommt?
Ich hoffe ich bin hier richtig und ihr könnt mich auf den Fehler aufmerksam machen. Den ich sitze schon seit längeren an diesem Problem und weiß leider nicht woran es liegt.
In der Hoffnung auf schnelle Hilfe
Psynox
Java:
public class CharArrayOps {
/**
* @param args
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
int[] input_arr = new int[100];
int i = 0;
boolean eingabe = true;
System.out.println("Bitte geben sie eine Testzeile ein:");
while (eingabe == true) {
input_arr[i] = System.in.read();
switch (input_arr[i]) {
case 13: eingabe = false;
default: i++;;
}
}
System.out.println("input_arr hat " + (input_arr.length) + "Keys");
contains(input_arr);
}
public static void contains(int[] arr) {
int i = 0;
boolean transfer = true;
while (transfer == true) {
switch (arr[i]) {
case 13: transfer = false;
default: i++;
}
}
int[] new_arr = new int[i-1];
new_arr = arr;
System.out.println("new_arr hat " + (i-1) + "Keys");
output(new_arr);
}
public static void output(final int[]printed_arr) {
System.out.println("printed_arr hat " + printed_arr.length + "Keys");
for (int i=0; i<printed_arr.length; i++)
System.out.print((char)printed_arr[i]);
System.out.println();
}
}
erzeugt folgende Ausgabe:
Bitte geben sie eine Testzeile ein:
jk
input_arr hat 100Keys
new_arr hat 2Keys
printed_arr hat 100Keys
jk
So nun zu meinem Problem. Ich schätze der Code an und für sich ist selbsterklärend, darum möchte ich auch nicht weiter drauf eingehen wofür er da ist und was er tun soll.
Mein Problem ist das 'printed_arr' in der function 'output' 98Keys zuviel hat. Ich habe ein wenig rumgespielt und es hat sich herausgestellt das printed_arr immer genauso viele Keys hat wie input_arr. Die Frage wieso hat dieser 100 wenn er aber über den Parameter einen Array mit 2 Keys übermittelt bekommt?
Ich hoffe ich bin hier richtig und ihr könnt mich auf den Fehler aufmerksam machen. Den ich sitze schon seit längeren an diesem Problem und weiß leider nicht woran es liegt.
In der Hoffnung auf schnelle Hilfe
Psynox