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 soll ein Array bauen, in dem Zahlen und Buchstaben vorhanden sind.
Zum Schluss soll ausgegeben werden: 1 5 7 S X 2
habe da schon was probiert:
Java:
import java.io.*;
class arrtest
{
public static void main (String args []) throws IOException
{
int zahlenFeld[];
int zahl;
int anzahlElemente = 0;
char bs;
String inData;
BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Ausgegeben werden soll: 1 5 7 S X 2");
anzahlElemente = 6;
System.out.println(); //Ausgabe Feldgröße
System.out.println("Feldgroesse: " + anzahlElemente);
zahlenFeld = new int[anzahlElemente];
for (int i = 0; i < anzahlElemente; i++)
{
if (i == 1 && i == 2 && i == 3 && i == 5)
{
System.out.println();
System.out.println("Geben Sie die Zahl ein!");
inData = stdin.readLine();
zahl = Integer.parseInt(inData);
zahlenFeld[i] = zahl;
}
if (i == 3 && i == 4)
{
System.out.println();
System.out.println("Geben Sie die Buchstaben ein!");
bs = System.in.read();
(char)zahlenFeld[i] = bs;
}
}
for (int i = 0; i < zahlenFeld.length; i++)
{
System.out.print(zahlenFeld[i] + " ");
}
}
}
nur das funktioniert noch nicht.
Habe heute erfahren, dass ich morgen einen Test mit dieser oder einer ähnlichen Aufgabe schreiben werde und weis nicht was daran falsch ist.
edit:
habe grade von nem klassenkameraden erfahren, dass wir das nicht einlesen müssen
hier ein zweiter versuch der if schleife:
Java:
for (int i = 0; i < anzahlElemente; i++)
{
if (i == 0)
{
zahlenFeld[i] = 1;
}
if (i == 1)
{
zahlenFeld[i] = 5;
}
if (i == 2)
{
zahlenFeld[i] = 7;
}
if (i == 3)
{
char x;
x = s;
zahlenFeld[i] = x;
}
if (i == 4)
{
char y;
y = x;
zahlenFeld[i] = y;
}
if (i == 5)
{
zahlenFeld[i] = 2;
}
}
Wenn Du das i mit einem if prüfen willst, darfst Du die möglichen Werte von i nicht mit AND prüfen (wird immer false, da i nicht gleichzeitig verschiedene werte annehmen kann) , sondern mit einem ODER resp. mit
wenn es nur so kleine zahlen sind, speicher sie doch auch als char. und mach ein char[] drauß.
alternativ ein Object[] mit Integer und Character füllen.
wenn es nur so kleine zahlen sind, speicher sie doch auch als char. und mach ein char[] drauß.
alternativ ein Object[] mit Integer und Character füllen.
ja weil er jetzt den zahlenwert der einzelnen chars American Standard Code for Information Interchange ? Wikipedia in deinem int-array speichert. du kannst keine buchstaben in buchstabenform in einem int-array speichern. nimm ein char-array und speicher alles als char.
Java:
char feld = new char[anzahlElemente];
if (i == 0) {
feld[i]='1';
}
System.out.println();
System.out.println("Geben Sie die Zahl ein!");
inData = stdin.readLine();
zahl = Integer.parseInt(inData);
zahlenFeld[i] = zahl;
Du wolltest Buchstaben und Ziffern mischen (Annahme von mir, der benutzer gibt nichtnur ziffern sondern auch Buchstaben ein und die sollen gespeichert werden)
Du liest die Eingaben 3. Zeile und wandelst die auf der 4. in Zahlen um
Wenn jetzt also der Benutzer auch Buchstaben eingibt braucht es Änderungen:
Ziel muss jetzt ein char[], String o.ä. sein
Die Umwandlung in eine Zahl ist unnötig
und zu guter letzt - du brauchst das alles ger nciht mehr zu tun,weil es ja schon im inData so drin ist, aber das habe ich damals nicht geschrieben, weil du sellbst auf die Idee kommen solltest.
Soooo falsch liege ich nicht oder du hast das Problem unverständlich beschrieben