Ich brauche hilfe bei einem Java projekt der schule!

...komplette Frage anzeigen

3 Antworten

JMenuItem +j

also, sorry, aber das geht ja gar nicht ... variablen immer klein benennen! das lernt man in der ersten schulstunde. das mal falsch zu machen ist kein thema, aber einen arithmetischen operator dafür verwenden ist ja grausam. dass da dein compiler nicht gemeckert hat..

zu deiner frage.. zeig doch einfach mal deinen kompletten code

  1. +j ist ein ungültiger Bezeichner.
  2. Wenn e.nextLine() in Anführungszeichen steht, dann wird es nicht als Befehl ausgeführt, sondern als String übernommen.
  3. int a=a++ ist die dämlichste Zeile, die ich je gelesen habe, da:
  • a nie genutzt wird.
  • man einer undefinierten variable nicht sich selbst zuweisen kann.
  • Da man keinen undefinierten Wert inkrementieren kann.
  • Bei einer Zuweisung einer Variable mit der Variablen++ nur den alten Wert übernimmt und den neuen löscht.
jsjjsjsj33 05.07.2013, 17:21

als ich das gesehen hab bin ich fast tot umgefallen, wie viele fehler kann ein Programmierer bei so einem kleinen programm machen ????? ich frag mich außerdem wofür a gut sein soll, im prinzp könnte er auch die variable aus der schleife nehmen (für was auch immer das gedacht sein soll)

0
jsjjsjsj33 06.07.2013, 10:27
@PerfectMuffin

verschwendeter Speicherplatz eben,
das ist aber mit abstand der schlechteste code den ich je gesehen hab.
Wenn man sowas in der schule lernt, dann wundere ich mich nicht das den ganzen tag solche dummen fragen kommen.
UND WER VERWENDET DEN SCANNER, DER BUFFERED READER IST VIIIEEEEL BESSER

0
jsjjsjsj33 06.07.2013, 10:38
@jsjjsjsj33

theoretisch müsste das j doch bei jedem schleifendurchlauf neu erzeugt werden

0
jsjjsjsj33 06.07.2013, 15:10
@PerfectMuffin

ich merk mir den code mal als Negativbeispiel !!
ich denke mal, das er die menüpunkte nebeneinander erstellen wollte, da wäre dann aber ein array die wahl gewesen

0
PerfectMuffin 06.07.2013, 15:35
@jsjjsjsj33

Ach, du hast ja keine Ahnung, was ICH für einen Müll geschrieben habe, als ich noch Anfänger war.

Best of DummerMuffinCode:

int a=String.toInteger("500");


public class Test {
    public static void main(String[] args){
        int d=0;
        while(true){
            if(d==360)d=0;
            System.out.println(Math.sin(90));
        }

    }
}
1
PerfectMuffin 06.07.2013, 17:35
@jsjjsjsj33

Und ich habe keine Ahnung, was DU als Anfänger so alles geschrieben hast. ;)

0
jsjjsjsj33 07.07.2013, 11:44
@PerfectMuffin

eine endlosschleife aus 1en und 0en wie bei Matrix (da habe ich gerade die while schleife entdeckt gehabt) und mein erstes programm bestand aus einem scanner der das einmaleins abgeprüft hat

0
lars229 07.07.2013, 10:05

Das ist nur ein Programm ausschnitt nur so nebenbei!

0
PerfectMuffin 07.07.2013, 10:20
@lars229

Mein Gott! Wenn das nur ein AUSSCHNITT ist!?

Ich habe dir gesagt, WAS an dem Code falsch ist.

0
jsjjsjsj33 07.07.2013, 10:47
@lars229

das das nur ein ausschnitt ist ist hier jedem klar, da würde sonst ja so ziemlich alles fehlen und denn es fehlt :
die main Methode
die klasse
die deklaration deines frames

wenn du das nach den zahlreichen versuchen, es dir zu erklären, nicht kapierst, dann kommentiere deinen code aus reiche den auskommentierten code an lehrer weiter und geh zocken

0

Lass die Anführungszeichen weg:

JMenuItem +j = new JMenuItem(e.nextLine());

Und am besten das + vor dem j auch. Das gehört sich so nicht^^

lars229 03.07.2013, 18:13

Leider funktioniert das immer noch nicht ..

0
lars229 03.07.2013, 18:20
@Wutklumpen

btw. Ich benutze JCreator.. Wenn ich Build benutze dann sagt er es is alles okay aber bei Run sagt der Exception in thread "main" java.util.NoSuchElementException: No line found at java.util.Scanner.nextLine(Scanner.java:1516) at Dropdown.(Dropdown.java:90) at Dropdown.main(Dropdown.java:116)

Obwohl etwas in der Textdatei steht !

0
WhiteGandalf 03.07.2013, 19:46
@lars229

Ja, aber stehen da auch ZEHN Zeilen drin?

Und sollte die Zeile...

int a= a++;

...nicht völlig überflüssig sein?

1
lars229 07.07.2013, 10:12
@WhiteGandalf

Nebenbei... Wir haben einen echt behinderten Lehrer der laut seiner Aussage ein Buch über Java gelesen hat und er behauptet dass er uns dass jetzt beibringen kann... Also guter unterricht ist das nicht...

Naja hier ist mal der Ganze Quell code...

Bitte seid etwas gnädig.. Ich bin halt recht neu in dem Fach..

import javax.swing.*; import java.awt.*; import java.io.*; import javax.swing.* ; import java.util.Scanner; import java.awt.event.* ; import java.awt.event.ActionListener.* ; import java.awt.event.ActionEvent.* ;

public class Dropdown extends JFrame {

public Dropdown() throws IOException {
    setSize(500,600);

    Scanner s = new Scanner(new FileInputStream(new File("penis.txt")));

    JLabel jahr = new JLabel(s.nextLine());

    JMenuBar menubar = new JMenuBar();

    JMenu menu1= new JMenu("Überwachung");
    JMenu menu2= new JMenu("Mittel");
    JMenu menu3 = new JMenu("Beschreibung");
    JMenu menu4 = new JMenu("Beschaffung");
    JMenu menu5 = new JMenu("Datei");


    JMenuItem üitem1 = new JMenuItem("Lieferanten");
    JMenuItem üitem2 = new JMenuItem("Stornobuchung");
    JMenuItem üitem3 = new JMenuItem("Jahreswechsel");
    JMenuItem üitem4 = new JMenuItem("Kontenbereiche");

    JMenuItem mitem1 = new JMenuItem("Zugang Girokonto");
    JMenuItem mitem2 = new JMenuItem("Aufteilung Zugang");
    JMenuItem mitem3 = new JMenuItem("Vorleistungen Zugang");
    JMenuItem mitem4 = new JMenuItem("Zugang Handkasse");

    JMenuItem bitem1 = new JMenuItem("Gesamtkonto");
    JMenuItem bitem2 = new JMenuItem("Summen und Solden");
    JMenuItem bitem3 = new JMenuItem("Bankkonto");
    JMenuItem bitem4 = new JMenuItem("Kontogegenblatt");

    JMenuItem beitem1 = new JMenuItem("Bestellung");
    JMenuItem beitem2 = new JMenuItem("Rechnungseingang");
    JMenuItem beitem3 = new JMenuItem("Gutschriftseingang");
    JMenuItem beitem4 = new JMenuItem("Überweisung");
    JMenuItem beitem5 = new JMenuItem("Kontoauszug prüfen");

    JMenuItem ditem1 = new JMenuItem("Datensicherung");
    JMenuItem ditem2 = new JMenuItem("Datenrückführung");
    JMenuItem ditem3 = new JMenuItem("Druckerauswahl");
    JMenuItem ditem4 = new JMenuItem("Beenden");



    menu1.add(üitem1);
    menu1.add(üitem2);
    menu1.add(üitem3);
    menu1.add(üitem4);

    menu2.add(mitem1);
    menu2.add(mitem2);
    menu2.add(mitem3);
    menu2.add(mitem4);

    menu3.add(bitem1);
    menu3.add(bitem2);
    menu3.add(bitem3);
    menu3.add(bitem4);

    menu4.add(beitem1);
    menu4.add(beitem2);
    menu4.add(beitem3);
    menu4.add(beitem4);
    menu4.add(beitem5);

    menu5.add(ditem1);
    menu5.add(ditem2);
    menu5.add(ditem3);
    menu5.add(ditem4);

    Scanner e = new Scanner(new FileInputStream(new File("eingabe.txt")));
    for(int i=0; i<10; i++)
    {
        JMenuItem i = new JMenuItem(e.nextLine());
        menu5.add(i);
    }

    menubar.add(menu1);
    menubar.add(menu2);
    menubar.add(menu3);
    menubar.add(menu4);
    menubar.add(menu5);

    JPanel bildschirm = new JPanel(new BorderLayout());
    JPanel drop = new JPanel(new GridLayout(1,1));
    JPanel jahrpanel = new JPanel(new GridLayout(1,1));

    drop.add(menubar);
    jahrpanel.add(jahr);
    bildschirm.add(drop,BorderLayout.SOUTH);
    bildschirm.add(jahrpanel,BorderLayout.NORTH);
    add(bildschirm, BorderLayout.NORTH);
    setVisible(true);

}
public static void main(String[] args) throws IOException
{
    new Dropdown();
}

}

0
lars229 07.07.2013, 10:28
@lars229

Und ja die Textdatei hat ein Klassenkamerad so genannt ... Sorry aber gut dass es mir noch auffällt .. Ich ändere es jetzt

0
PerfectMuffin 07.07.2013, 10:36
@lars229
for(int i=0; i<10; i++)
    {
        JMenuItem i = new JMenuItem(e.nextLine());
        menu5.add(i);
    }

Das JMenuItem darf nicht i heißen, da der Schleifenzähler schon so heißt.

Der Rest des Codes ist extrem unübersichtlich und nicht kommentiert.

Erste Programmierlektion: KOMMENTIEREN.

Anscheinend packt ihr ein JFrame mit 4 Menüs voll, von denen jedes nochmal 4 Gegenstände hat?

0
lars229 07.07.2013, 10:49
@PerfectMuffin

Ja genau ... Und diese schleife die in deinem Kommentar nocheinmal steht .. Soll ein JMenuItem erstellen undzwar aus einer Textdatei... Ps: Ich bin nicht so gut in Java und ich habe es Jetzt anders versucht.. Hier ist der Quellcode denn ich anstatt der schleife eingestellt habe ..


FileReader fr = new FileReader("eingabe.txt"); BufferedReader br = new BufferedReader(fr); Typ item[] = new Typ[10]; for(int i=0; i<10; i++) { JMenuItem item[i] = new JMenuItem(br.readLine()); menu5.add(item[i}); }


Ja ich weiss sie ist voller Fehler... Und keinne ahnung warum dies hier so unvorteilhaft dargestellt wird..

0
lars229 07.07.2013, 11:27
@lars229

Habe es jetzt einfach so gelöst

FileReader fr = new FileReader("eingabe.txt");
    BufferedReader br = new BufferedReader(fr);

    JMenuItem item1 = new JMenuItem(br.readLine());
    menu4.add(item1);

    JMenuItem item2 = new JMenuItem(br.readLine());
    menu4.add(item2);

    JMenuItem item3 = new JMenuItem(br.readLine());
    menu4.add(item3);

    JMenuItem item4 = new JMenuItem(br.readLine());
    menu4.add(item4);
0

Was möchtest Du wissen?