Hey !
Ich habe Probleme bei einer Aufgabe diese lautet :
Zuerst soll eine Zeile von der Konsole in ein genügend groß gewähltes Char-Array (Puffer) eingelesen werden. Übertragen Sie anschließend die eingelesenen Zeichen auf ein Array, das genau so groß ist, dass es die Eingabe (ohne Zeilenendezeichen) beherbergen kann. Es soll ab jetzt immer gelten, dass ein Array genau die Größe hat, die es benötigt, um die Nutzdaten zu halten (also keine Leerzeichen o. ä. am Ende).
Hier mein Code bis jetzt :
Mein Gedanke war, dass ich durch den SPACE-Char der Input beendet ist und ich somit die neue Länge des zweiten Arrays bekomme, allerdings funktioniert dies nicht so wie gedacht.
Ich hoffe jemand kann mir auf die Sprünge helfen, sitze wirklich schon lange daran.
Ich habe Probleme bei einer Aufgabe diese lautet :
Zuerst soll eine Zeile von der Konsole in ein genügend groß gewähltes Char-Array (Puffer) eingelesen werden. Übertragen Sie anschließend die eingelesenen Zeichen auf ein Array, das genau so groß ist, dass es die Eingabe (ohne Zeilenendezeichen) beherbergen kann. Es soll ab jetzt immer gelten, dass ein Array genau die Größe hat, die es benötigt, um die Nutzdaten zu halten (also keine Leerzeichen o. ä. am Ende).
Hier mein Code bis jetzt :
Code:
import java.util.Arrays;
public class CharArrayManipulation {
public static void main(String[] args) throws Exception {
final int max = 100;
char def = ' ';
char[] input = new char[max];
for (int i = 0; i < input.length; i++)
input[i] = def; // init array elements
System.out.println("Input :");
char c;
int i = 0;
while (((c = (char) System.in.read()) != ' ')) {
if (i == input.length) { // array already full!
System.out.println("Eingabe zu lang!");
return;
}
input[i++] = c; // store input in array
}
int z = Arrays.binarySearch(input, ' '); // end of input, word length
System.out.println(z);
char[] storeArray = Arrays.copyOf(input, z); // new array
}
}
Ich hoffe jemand kann mir auf die Sprünge helfen, sitze wirklich schon lange daran.