天天看點

Java程式設計複習題

四、基礎程式設計

1.畫兩個矩形,一個是普通的未填充的矩形,另一個是圓角為20像素的填充矩形。

import java.applet.*;
import java.awt.*;

public class Rect extends Applet {
    public void paint(Graphics g) {
    	g.drawRect(20,20,60,60);
    	g.fillRoundRect(80,80,100,100,20,30);
    }
}
           

2.編寫一個Application,鍵盤輸入一個字母,加1後輸出到螢幕。

public class App6 {
	 public static void main(String[] args){
	    try{
	    	System.out.print("請輸入一個字元:");
	    	char c = (char)(System.in.read() + 1);
	    	System.out.println("剛輸入的字元加1後為:"+c);
	    
	    } catch(java.io.IOException e) {}
	 }
}
           

3.顯示一行字元串的簡單Java Applet。(一行字元串為:“您好,Java 程式!”)

import java.applet.Applet;
import java.awt.Graphics;     //加載系統類Graphics

public class Welcome2 extends Applet {
	public void paint(Graphics g) {
        g.drawString("您好,Java 程式!",25,25);
    }
}
           

4.實作第一個簡單的應用程式:列印一行文字。(一行文字為:“您好,Java 程式!”)

public class Welcome1 {
	public static void main(String args[]){
    	System.out.print("您好,Java 程式!");
    }
}
           

五、使用Java語言編寫程式

1.建立一個圖形使用者界面。包括一個按鈕、一個文本框,采用順序布局。視窗為可視、大小為400×400,要對按鈕、文本框進行動作監聽。編寫程式。

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class ButtonText extends JFrame implements ActionListener {	   
	JTextField tf = new JTextField(15);
    JButton bt = new JButton("ok");
	public ButtonText() {	
		super("圖形使用者界面架構");     //調用父類具有相同形參的構造方法
		Container c = getContentPane();     //獲得視窗的内容顯示層
		c.setLayout(new FlowLayout());		//采用順序布局
		c.add(tf);
		c.add(bt);			//添加元件
		
		setSize(400,400);		
		setVisible(true);		//顯示視窗界面
		bt.addActionListener(this);			//給元件加監聽
	}
	
	//事件處理程式
	public void actionPerformed(ActionEvent e) {	
		tf.setText("Java是世界上最好的語言!");
	}
	public static void main(String args[]) {	
		new ButtonText();
	}
}
           

2.編寫Applet程式,包含三個标簽,其背景分别為紅、黃、藍三色。

import java.applet.*;
import java.awt.*;
 
public class LabelRYB extends Applet {
	Label label1 = new Label("RedLabel");
	Label label2 = new Label("YellowLabel");
	Label label3 = new Label("BlueLabel");
	
	public LabelRYB() {
		setLayout(new FlowLayout());
		add(label1); 
		label1.setBackground(Color.red);
		
		add(label2); 
		label2.setBackground(Color.yellow);
		
		add(label3); 
		label3.setBackground(Color.blue);
	}
}
           

3.定義一個接口jiekou。接口完成2個變量(x、y)、一個方法的說明(方法名為output)。定義3個類。類classA實作接口中output()完成2個變量加法運算,類classB實作接口中output()完成2個變量減法運算,類exam輸出運算結果。

例如輸出結果可以如下:

        x+y=40

        x-y=20

interface jiekou {
	public abstract int output(int x, int y);	
}

class A implements jiekou{
	public int z;
	public int output(int x, int y) {
		z = x + y;
		return z;
	}
}
class B implements jiekou{
	public int z;
	public int output(int x, int y) {
		z = x - y;
		return z;
	}
}

public class exam {
	public static void main(String[] args) {
		A a = new A();
		a.output(30, 10);
		B b = new B();
		b.output(30, 10);
		
		System.out.println("x+y=" + a.z);
		System.out.println("x-y=" + b.z);
	}
}
           

4.通過繼承Thread類實作多線程的方法是首先設計Thread的子類。用new建立二個線程執行個體,用start()方法進行啟動,将執行權交給run()。二個線程名字分别為線程1和線程2,要輸出線程的次數(10次)和線程的名字。

public class TwoThreads_Test {
	public static void main(String args[]) {
		Thread t1 = new Thread_Test("線程1");		// 第一個線程的名字為"線程1"
        Thread t2 = new Thread_Test("線程2");		// 第二個線程的名字為"線程2"
        t1.start();
        t2.start();
	}
}

class Thread_Test extends Thread {
	public Thread_Test(String str) {
		super(str);		// 調用其父類的構造方法
	}
	
	// 重寫run方法
	public void run() {		
		for (int i = 0; i < 10; i++) {
			// 列印次數和線程的名字
			System.out.println(i + " " + getName());
			
			try {		// 線程睡眠,把控制權交出去
				sleep((int)(Math.random() * 1000));				
			} catch (InterruptedException e) {}
		}
		
		// 線程執行結束
		System.out.println("執行結束!" + getName());
	}
}