Hilfe bei Java-Aufgaben

Status
Nicht offen für weitere Antworten.
S

Sandy

Gast
Hallo.

Ich habe ein großes problem. und zwar studiere ich multimedia wo ich jetzt java als fach bekommen habe. jedoch halten sich meine fortschritte leider in grenzen und langsam bin ich am verzweifeln. denn ich habe jetzt aufgaben vom Professor bekommen die ich, so zu sagen als Teilprüfung, in zwei wochen bei ihm abgeben soll. :( :( :( da ich aber wie ich schon schrieb noch nicht sehr firm bin, bitte ich euch um HILFE! für euch mögen die aufgaben sicherlich leicht erscheinen aber für mich sind sie sehr schwer...

die erste ist das zusammenrechnen zweier Vektoren bei denen ich die vektoren eingebe und mir das programm die summe ausgibt.

die zweite ist das malen eines kreises nachdem ich mit der mouse zwei mal in ein rahmen geklickt habe. die klicks sollen der radius bzw durchmesser sein.

die dritte ist ein "fußballtabelle" wie er es nennt. das programm das automatisch eine tabelle erstellt, wenn man einfach die spielergebnisse aller spiele eingibt bei einer manschaftszahl von 6.


bitte bitte kann mir jemand helfen??? :cry: es wäre wirklich tierisch nett von euch und wirklich wichtig für mich!

vielen dank im voraus...

bye...Sandy...
 
B

Beni

Gast
Wir lösen hier keine Aufgaben, wie helfen nur beim lösen.

Also: ihr steigt ganz schön hoch ein, diese Aufgaben lassen sich wohl am einfachsten mit Swing lösen.

Wenn ich mal so nachdenke, was ich alles für die erste Aufgabe verwenden würde, fällt mir ein:

Hier kann man mit 3 Klassen weit kommen.
Als erstes benötigen wir eine Klasse "Vektor", mit den Methoden setX, setY, setZ und getX, getY, getZ, für die einzelnen Werte.

Dann eine Klasse VektorPanel, welche einen Vektor darstellt.
VektorPanel erbt von JPanel. Es setzt sich selbst ein GridLayout mit 3 Zeilen, und 1 Spalte. Dann fügt es sich 3 JTextFields hinzu, die unter dem Namen textX, textY, textZ als Instanzvariablen gespeichert sind.
Und dann gibt es noch zwei Methoden "setVektor" und "getVektor". Als Pseudocode:


Code:
public class VektorPanel extends JPanel{
  private JTextField textX = new JTextField();
  private JTextField textY = new JTextField();
  private JTextField textZ = new JTextField();

  public VektorPanel(){
    setLayout( ... );
  }

  public void setVektor( Vektor vektor ){
    textX.setText( String.valueOf( vektor.getX() ));
    ... 
  }

  public void getVektor(){
    double x = Double.parseDouble( textX.getText() );
    ...
    return new Vektor( x, y, z );
  }
}


Und dann gibt es noch eine Hauptklasse "Main", die von JFrame erbt. Dem Frame werden 3 VektorPanel's hinzugefügt, der erste Summand, der zweite Summand und das Ergebnis.

Ausserdem ein JButton, dem du einen ActionListener hinzufügst. Sollte der ActionListener aufgerufen werden, ist es an der Zeit die Vektoren zusammenzuzählen, und dem Resultat-Feld zu übergeben.

Code:
public class Main extends JFrame{
  public Main(){
    ...

    button.addActionListener( new ActionListener(){
      public void actionPerformed( ActionEvent e ){
         Vektor a = vektorPanelA.getVektor();
         Vektor b = vektorPanelB.getVektor();
         resultVektorPanel.setVektor( Vektor.sum( a, b ) );
      }
    });
  }
}

Das ist natürlich nur eine Möglichkeit, du kannst was anderes machen.
Und wenn du mal das Prinzip kapiert hast, sind die anderen Aufgaben auch nicht mehr so schwer.

mfg Beni
 
G

Guest

Gast
vielen dank schon mal für die hilfe. ich erkenne eure leistung sehr wohl an, und sicher fühle ich mich nicht richtig wohl dabei wenn ich euch fast vollkommen ahnungslos um hilfe bitte, doch ist es für mich nicht machbar diese aufgaben zu erfüllen, weshalb ich euch um hilfe bitte. ich bemühe mich ja mir java an zu eignen jedoch fällt es mir wie schon beschrieben nicht leicht. ich bitte um euer verständnis...

vielen dank..Sandy...
 

P3AC3MAK3R

Top Contributor
Achte beim nächsten Mal bitte auch darauf, das richtige Unterforum zu wählen und einen aussagekräftigen Titel zu wählen.
 
S

stev.glasow

Gast
Anonymous hat gesagt.:
vielen dank schon mal für die hilfe. ich erkenne eure leistung sehr wohl an, und sicher fühle ich mich nicht richtig wohl dabei wenn ich euch fast vollkommen ahnungslos um hilfe bitte, doch ist es für mich nicht machbar diese aufgaben zu erfüllen, weshalb ich euch um hilfe bitte. ich bemühe mich ja mir java an zu eignen jedoch fällt es mir wie schon beschrieben nicht leicht. ich bitte um euer verständnis...

vielen dank..Sandy...

So unängenehm wie sich das anhört: Entweder du machst das selber und stellst spezielle Farge oder du bezahlst jemanden dafür, dass er dir das macht. Du musst uns da auch Verstehen.
 

Fridolin

Bekanntes Mitglied
Bekomm ich jetzt ein Bussi?
Wir haben so eine ähnliche Aufgabe in der Schule bekommen, allerdings hab ich das programm allein schreiben und oft im forum andere leute um hilfe bitten müssen, allerdings will ich jetzt ein bussi

Aufgabe Eins:
Code:
import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 

public class Vektor2d extends JFrame implements ActionListener 
{ 
    
   int a; 
   int b; 
   int c;
   int[] zahla = new int[3]; 
   int[] zahlb = new int[3];
   int gcd; 
   JTextField eins; 
   JTextField zwei; 
   JButton skalar; 
   JButton plus; 
   JButton minus; 
   JButton gleich; 
   JButton clear;
   JPanel panel; 
   JPanel text; 
   String antwort = new String(); 
    
   public void seta(int x) 
   { 
   this.a = x; 
   } 
    
   public void setb(int y) 
   { 
   this.b = y; 
   }
    
   public void setc(int z) 
   { 
   this.c = z; 
   } 
   
   public int geta() 
   { 
   return this.a; 
   } 
    
   public int getb() 
   { 
   return this.b; 
   } 
   
   public int getc() 
   { 
   return this.c; 
   } 
    
   public void add(int x, int y, int z, int n) 
   { 
   this.a = x*n + z*y; 
   this.b = y*n; 
   } 
    
   public void subtract(int x, int y, int z, int n) 
   { 
   this.a = x*n - z*y; 
   this.b = y*n; 
   } 
    
   public void skalar(int x, int y, int z, int n) 
   { 
    
   this.a = x*z; 
   this.b = y*n; 
   this.c = this.a + this.b;
   } 
    
   public void clear(JTextField x, JTextField y) 
   { 
   x.setText(""); 
   y.setText(""); 
   } 
    
   public int greatestcommonDivisor(int x, int y) 
   { 
   	   while(x != 0.0) 
       { 
       int temp = y % x; 
       y = x; 
       x = temp; 
       } 
        
       return y;    
   } 
    
   public Vektor2d() 
   { 
    
   MenuBar menuBar = new MenuBar(); 
   Menu menuFile = new Menu(); 
   MenuItem menuFileExit = new MenuItem(); 
        
   menuFile.setLabel("File"); 
   menuFileExit.setLabel("Exit"); 
        
   menuFileExit.addActionListener(new ActionListener() 
   { 
       public void actionPerformed(ActionEvent e) 
       { 
       setVisible(false);
       dispose(); 
       System.exit(0); 
       } 
   }); 
   menuFile.add(menuFileExit); 
   menuBar.add(menuFile); 
    
   Container content = getContentPane(); 
   content.setLayout(new BorderLayout()); 
    
   panel = new JPanel(); 
   panel.setLayout(new FlowLayout()); 
    
   plus = new JButton("+"); 
   plus.addActionListener(this); 
   //plus.setPreferredSize(new Dimension(20,20)); 
   panel.add(plus); 
    
   minus = new JButton("-"); 
   minus.addActionListener(this); 
   //minus.setPreferredSize(new Dimension(20,20)); 
   panel.add(minus); 
    
   gleich = new JButton("="); 
   gleich.addActionListener(this); 
   //gleich.setPreferredSize(new Dimension(20,20)); 
   panel.add(gleich); 
   
   clear = new JButton("C"); 
   clear.addActionListener(this); 
   //clear.setPreferredSize(new Dimension(20,20)); 
   panel.add(clear); 
    
   skalar = new JButton("skalar"); 
   skalar.addActionListener(this); 
   panel.add(skalar); 
   content.add(panel, BorderLayout.NORTH); 
    
   text = new JPanel(); 
   text.setLayout(new BorderLayout()); 
    
   eins = new JTextField(); 
   eins.addKeyListener(new KeyAdapter()
   {
   		public void keyPressed(KeyEvent e33)
   		{
   		
   		int keycode = e33.getKeyCode();
   		if(keycode == KeyEvent.VK_ENTER)
   		{
   		zwei.requestFocus();
   		}
   		
   		}
   });
   text.add(eins, BorderLayout.NORTH); 
    
   zwei = new JTextField(); 
   zwei.addKeyListener(new KeyAdapter()
   {
   		public void keyPressed(KeyEvent e77)
   		{
   		
   		int keycode = e77.getKeyCode();
   		if(keycode == KeyEvent.VK_ENTER)
   		{
   		eins.requestFocus();
   		}
   		
   		}
   });
   text.add(zwei, BorderLayout.SOUTH); 
    
   content.add(text, BorderLayout.SOUTH); 
   
   this.a = 40; 
   this.b = 20; 
   } 
    
   public Vektor2d(int x, int y) 
   { 
       
   MenuBar menuBar = new MenuBar(); 
   Menu menuFile = new Menu(); 
   MenuItem menuFileExit = new MenuItem(); 
        
   menuFile.setLabel("File"); 
   menuFileExit.setLabel("Exit"); 
        
   menuFileExit.addActionListener(new ActionListener() 
   { 
       public void actionPerformed(ActionEvent e) 
       { 
       setVisible(false);
       dispose(); 
       System.exit(0); 
       } 
   }); 
   menuFile.add(menuFileExit); 
   menuBar.add(menuFile); 
    
   Container content = getContentPane(); 
   content.setLayout(new BorderLayout()); 
    
   panel = new JPanel(); 
   panel.setLayout(new FlowLayout()); 
    
   plus = new JButton("+"); 
   plus.addActionListener(this); 
   //plus.setPreferredSize(new Dimension(20,20)); 
   panel.add(plus); 
    
   minus = new JButton("-"); 
   minus.addActionListener(this); 
   //minus.setPreferredSize(new Dimension(20,20)); 
   panel.add(minus); 
    
   gleich = new JButton("="); 
   gleich.addActionListener(this); 
   //gleich.setPreferredSize(new Dimension(20,20)); 
   panel.add(gleich); 
    
   clear = new JButton("C"); 
   clear.addActionListener(this); 
   //clear.setPreferredSize(new Dimension(20,20)); 
   panel.add(clear); 
   
   skalar = new JButton("skalar"); 
   skalar.addActionListener(this); 
   panel.add(skalar); 
   content.add(panel, BorderLayout.NORTH); 
    
   text = new JPanel(); 
   text.setLayout(new BorderLayout()); 
    
   eins = new JTextField(); 
   eins.addKeyListener(new KeyAdapter()
   {
   		public void keyPressed(KeyEvent e33)
   		{
   		
   		int keycode = e33.getKeyCode();
   		if(keycode == KeyEvent.VK_ENTER)
   		{
   		zwei.requestFocus();
   		}
   		
   		}
   }); 
   text.add(eins, BorderLayout.NORTH); 
    
   zwei = new JTextField(); 
   zwei.addKeyListener(new KeyAdapter()
   {
   		public void keyPressed(KeyEvent e77)
   		{
   		
   		int keycode = e77.getKeyCode();
   		if(keycode == KeyEvent.VK_ENTER)
   		{
   		eins.requestFocus();
   		}
   		
   		}
   });
   text.add(zwei, BorderLayout.SOUTH); 
    
   content.add(text, BorderLayout.SOUTH); 
   
   this.a = x; 
   this.b = y; 
   } 
    
   public void actionPerformed(ActionEvent event) 
   { 
   Object quelle = event.getSource();     
    
      if(quelle == plus) 
      { 
      antwort = "+"; 
      
      try 
      { 
      zahla[0] = Integer.parseInt(eins.getText()); 
      zahlb[0] = Integer.parseInt(zwei.getText()); 
       
      seta(zahla[0]); 
      setb(zahlb[0]);
      } 
    
      catch(NumberFormatException e11) 
      { 
      System.out.println("Das war keine Zahl.\n Bitte geben sie erneut ein."); 
      zahla[0] = 0; 
      zahlb[0] = 0; 
       
      seta(zahla[0]); 
      setb(zahlb[0]);
      
      clear(eins, zwei); 
      }
      
      clear(eins, zwei); 
      } 
       
      else if(quelle == minus) 
      { 
      antwort = "-"; 
      
      try 
      { 
      zahla[0] = Integer.parseInt(eins.getText()); 
      zahlb[0] = Integer.parseInt(zwei.getText()); 
       
      seta(zahla[0]); 
      setb(zahlb[0]);
      } 
    
      catch(NumberFormatException e11) 
      { 
      System.out.println("Das war keine Zahl.\n Bitte geben sie erneut ein."); 
      zahla[0] = 0; 
      zahlb[0] = 0; 
       
      seta(zahla[0]); 
      setb(zahlb[0]); 
      
      clear(eins, zwei); 
      } 
      
      clear(eins, zwei); 
      } 
       
      else if(quelle == clear) 
      {
      zahla[2] = 0; 
      zahlb[2] = 0; 
      
      zahla[1] = 0; 
      zahlb[1] = 0; 
          
      zahla[0] = 0; 
      zahlb[0] = 0; 
          
      seta(0); 
      setb(0);
         
      clear(eins, zwei);	 
      }
      
      else if(quelle == skalar) 
      { 
      antwort = "s"; 
      
      try 
      { 
      zahla[0] = Integer.parseInt(eins.getText()); 
      zahlb[0] = Integer.parseInt(zwei.getText()); 
      
      seta(zahla[0]); 
      setb(zahlb[0]);
      } 
    
      catch(NumberFormatException e11) 
      { 
      System.out.println("Das war keine Zahl.\n Bitte geben sie erneut ein."); 
      zahla[0] = 0; 
      zahlb[0] = 0; 
       
      seta(zahla[0]); 
      setb(zahlb[0]); 
      
      clear(eins, zwei); 
      } 
      
      clear(eins,zwei); 
      } 
       
      if(quelle == gleich) 
      { 
          
         try
         {         
         zahla[1] = Integer.parseInt(eins.getText()); 
         zahlb[1] = Integer.parseInt(zwei.getText()); 
      	 }
      	 
      	 catch(NumberFormatException e11) 
         { 
         System.out.println("Das war keine Zahl.\n Bitte geben sie erneut ein."); 
         zahla[1] = 0; 
         zahlb[1] = 0; 
          
         seta(zahla[1]); 
         setb(zahlb[1]); 
          
         zahla[0] = 0; 
         zahlb[0] = 0; 
          
         seta(zahla[0]); 
         setb(zahlb[0]);
         
         clear(eins, zwei); 
         } 
            
           
            if(antwort.equals("+")) 
            { 
            add(zahla[0], zahlb[0], zahla[1], zahlb[1]); 
            
            zahla[2] = geta(); 
            zahlb[2] = getb(); 
            gcd = greatestcommonDivisor(zahla[2], zahlb[2]);
            zahla[2] = geta()/gcd; 
            zahlb[2] = getb()/gcd;
            
            eins.setText(new Integer(zahla[2]).toString()); 
            zwei.setText(new Integer(zahlb[2]).toString()); 
             
               for(int i = 0; i <= 2; i++)    
               { 
               zahla[i] = 0; 
               zahlb[i] = 0; 
               } 
                
            seta(0); 
            setb(0); 
            } 
             
            if(antwort.equals("-")) 
            { 
            subtract(zahla[0], zahlb[0], zahla[1], zahlb[1]); 
            
            zahla[2] = geta(); 
            zahlb[2] = getb(); 
            gcd = greatestcommonDivisor(zahla[2], zahlb[2]);
            zahla[2] = geta()/gcd; 
            zahlb[2] = getb()/gcd;
             
            eins.setText(new Integer(zahla[2]).toString()); 
            zwei.setText(new Integer(zahlb[2]).toString()); 
             
               for(int i = 0; i <= 2; i++)    
               { 
               zahla[i] = 0; 
               zahlb[i] = 0; 
               } 
                
            seta(0); 
            setb(0); 
            } 
             
            if(antwort.equals("s")) 
            { 
            skalar(zahla[0], zahlb[0], zahla[1], zahlb[1]); 
            
            zahla[2] = getc(); 
             
            eins.setText(new Integer(zahla[2]).toString()); 
            zwei.setText("");
            
               for(int i = 0; i <= 2; i++)    
               { 
               zahla[i] = 0; 
               zahlb[i] = 0; 
               } 
                
            seta(0); 
            setb(0); 
            setc(0); 
            } 
             
         } 
          
      } 
          
    
    public static void main(String[] args) 
    { 
        // Create application frame. 
        Vektor2d fridolin = new Vektor2d(); 
        fridolin.setSize(300, 200); 
        fridolin.setLocation(100, 100); 
        fridolin.setTitle("Vektor2d"); 
        fridolin.setVisible(true); 
    } 
}

P.S.: Dafür sollte ich jetzt aber ein Bussi bekommen, für dieses schwere programm
 

Fridolin

Bekanntes Mitglied
..., und sicher fühle ich mich nicht richtig wohl dabei wenn ich euch fast vollkommen ahnungslos um hilfe bitte, doch ist es für mich nicht machbar diese aufgaben zu erfüllen, weshalb ich euch um hilfe bitte. ich bemühe mich ja mir java an zu eignen jedoch fällt es mir wie schon beschrieben nicht leicht.

lüg nicht das kommt nie gut.
 
G

Guest

Gast
Na wieso denn nicht? Sie will es eh nicht lernen und ich hab ihr halt eine von drei Aufgaben erfüllt
ich wette sie bringt die restlichen auch nur durch betteln bei ihren klassenkollegen zusammen, viel spaß
 

Illuvatar

Top Contributor
Beni hat gesagt.:
Applaus für Fridolin

eusa_clap.gif
eusa_clap.gif
eusa_clap.gif
eusa_clap.gif
eusa_clap.gif
 
G

Guest

Gast
Ja mir macht das spaß übrigens weißt du warum das Oval von drawOval(int x, int y, int width, int height)
immer die linke kreisfläche des Ovals als anfangspunkt nimmt und nicht einen mittelpunkt und von dem
aus das Oval mit der breite width/2 zeichnet?
 
G

Guest

Gast
stevg dann lösch den beitrag halt wenn euch der so stört wahrscheinlich hat sies noch nicht einmal gesehen
ihr letzter beitrag war ja schließlich um 14:50 sie wird sichs von einem anderen holen
 

Jaraz

Bekanntes Mitglied
Fridolin hat gesagt.:
Bekomm ich jetzt ein Bussi?
Wir haben so eine ähnliche Aufgabe in der Schule bekommen, allerdings hab ich das programm allein schreiben und oft im forum andere leute um hilfe bitten müssen, allerdings will ich jetzt ein bussi

Wenn es um Swing gehen würde, könntest du ja vielleicht noch ein Bussi verlangen aber mit objektorientierter Programmierung hat dein Programm leider ziemlich wenig zu tun. ;)

Wer es drauf anlegt, bekommt solche Standardaufgaben überall her.
2 Vektoren addieren dauert bei google, keine 5 Sekunden.

Gruß Jaraz
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben