Lösungen - oth-regensburg.de

Werbung
Programmieren in Java
Lösungen
1. Aufgabe
a)
<HTML>
<HEAD>
<TITLE>1. Aufgabe</TITLE>
</HEAD>
<BODY>
<APPLET CODE="Aufg1.class" WIDTH=350 HEIGHT=150>
<PARAM NAME=name VALUE="Nobody">
</APPLET>
</BODY>
</HTML>
b)
import java.awt.*;
public class Aufg1 extends java.applet.Applet
{
Font f;
String name;
public void init()
{
f = new Font("Helvetica",Font.BOLD,48);
this.name = getParameter("name");
if (this.name == null)
{
this.name = "Juergen";
}
this.name = "Hallo " + this.name;
}
public void paint(Graphics g)
{
// Oval mit Farbe pink
g.setColor(Color.pink);
g.fillOval(10,10,330,100);
// Roter Umfassungsrahmen, da Java keine Linienbreite
// verarbeitet, wird die Linienbreite durch 4 Ovale
// unterschliedlicher Pixelbreite simuliert
g.setColor(Color.red);
g.drawOval(10,10,330,100);
g.drawOval(9,9,332,102);
g.drawOval(8,8,334,104);
g.drawOval(7,7,336,106);
// Textausgabe
g.setColor(Color.black);
g.setFont(f);
g.drawString(this.name,30,75);
}
}
2. Aufgabe
a)
import java.awt.*;
public class Aufg2 extends java.applet.Applet
{
1
Programmieren in Java
public void paint(Graphics g)
{
Dimension d = getSize();
g.setColor(Color.yellow);
g.fillRect(0,0,d.width-1,d.height-1);
// Zeichnen der Tasse
// Blaue Untertasse
g.setColor(Color.blue);
// fillOval(x,y,hoehe,breite)
g.fillOval(10,110,150,40);
g.setColor(Color.black);
// drawOval(x,y,hoehe,breite)
g.drawOval(10,110,150,40);
g.drawOval(60,122,50,16);
// rote Tasse
g.setColor(Color.red);
// Henkel
// drawArc(x,y,hoehe,breite,startwinkel,bogen)
g.drawArc(130,30,40,50,-120,210);
g.fillArc(20,-70,130,200,180,180);
g.setColor(Color.black);
g.fillOval(20,20,130,20);
// Beschriftung
g.drawString("Kaffetasse",60,170);
}
}
b)
<HTML>
<HEAD>
<TITLE>2. Aufgabe</TITLE>
</HEAD>
<BODY>
<APPLET CODE="Aufg2.class" WIDTH=200 HEIGHT=200>
</APPLET>
</BODY>
</HTML>
3. Aufgabe
a)
import java.awt.*;
public class Aufg3 extends java.applet.Applet
{
// Instanzvariable
private int eckenAnz = 12;
private int radius
= 60;
private Dimension s;
private int xKoord[];
private int yKoord[];
// Methoden
public void init()
{
s = getSize();
eckenAnz = 6;
radius
= 60;
xKoord = new int[eckenAnz];
yKoord = new int[eckenAnz];
for (int i = 0; i < eckenAnz; i++)
2
Programmieren in Java
{
xKoord[i] = (int) (s.width / 2 +
radius * Math.cos(i * 2 * Math.PI / eckenAnz));
yKoord[i] = (int) (s.height / 2 +
radius * Math.sin(i * 2 * Math.PI / eckenAnz));
}
}
public void paint(Graphics g)
{
g.setColor(Color.white);
g.fillRect(0,0,s.width,s.height);
g.setColor(Color.black);
g.drawPolygon(xKoord, yKoord, eckenAnz);
/*
for (int i = 0; i < eckenAnz; i++)
for (int j = 0; j < eckenAnz; j++)
g.drawLine(xKoord[i], yKoord[i], xKoord[j], yKoord[j]);
*/
}
}
b)
<HTML>
<HEAD>
<TITLE>3. Aufgabe</TITLE>
</HEAD>
<BODY>
<APPLET CODE="Aufg3.class" WIDTH=200 HEIGHT=200>
</APPLET>
</BODY>
</HTML>
4. Aufgabe
a)
import java.awt.*;
public class Aufg4 extends java.applet.Applet
{
/* Abmessungen des Fensters */
private static int hoehe;
private static int breite;
/* Applet-Verarbeitungsmethoden */
public void init()
{
Dimension d = getSize();
hoehe = d.height - 1;
breite = d.width - 1;
}
public void paint(Graphics g)
{
g.setColor(Color.yellow);
g.fillRect(0,0,breite,hoehe);
g.setColor(Color.black);
double b;
int rx = breite / 2;
int ry = hoehe / 2;
for (int i = 0;i < 360; i++)
{
b = i * Math.PI / 180;
3
Programmieren in Java
int x = (int) (breite / 2 * Math.sin(12*b));
int y = (int) (hoehe / 2 * Math.sin(12*b));
int rx1 = (int)(breite/2 + (x * Math.cos(b)));
int ry1 = (int)(hoehe/2 + (y * Math.sin(b)));
g.drawLine(rx,ry,rx1,ry1);
rx = rx1;
ry = ry1;
}
}
}
b)
<HTML>
<HEAD>
<TITLE>5. Aufgabe</TITLE>
</HEAD>
<BODY>
<APPLET CODE="Aufg4.class" WIDTH=300 HEIGHT=300>
</APPLET>
</BODY>
</HTML>
4
Herunterladen