import java.awt.Color;
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名注冊、網(wǎng)頁空間、營銷軟件、網(wǎng)站建設、安福網(wǎng)站維護、網(wǎng)站推廣。
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.SwingConstants;
import javax.swing.border.LineBorder;
public class game21 extends JFrame {
private JLabel label_2;
private int number;
private int sum;
final JLabel label = new JLabel();
final JLabel label_1 = new JLabel();
public static void main(String[] args) {
new game21();
}
public game21() {
super("21點?!");
getContentPane().setLayout(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
final JButton button = new JButton();
button.addActionListener(new ActionListener() {
public void actionPerformed(final ActionEvent arg0) {
onClick();
}
});
button.setText("出牌");
button.setBounds(170, 350, 106, 28);
getContentPane().add(button);
label.setBorder(new LineBorder(Color.black, 1, false));
label.setHorizontalAlignment(SwingConstants.CENTER);
label.setFont(new Font("", Font.BOLD, 26));
label.setText("背面");
label.setBounds(158, 81, 137, 153);
getContentPane().add(label);
label_1.setText("你已經(jīng)擁有的牌:");
label_1.setBounds(109, 22, 270, 45);
getContentPane().add(label_1);
this.setBounds(200, 300, 501, 528);
this.setVisible(true);
getContentPane().add(getLabel_2());
}
public int randNumber() {
try {
Thread.sleep(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
return (int) (Math.random() * 10 + 1);
}
public void onClick() {
number = this.randNumber();
this.sum += number;
label.setText("" + number);
String strTemp = this.label_1.getText();
strTemp += "" + number + " ";
label_1.setText(strTemp);
String temp = "合計:" + sum;
label_2.setText(temp);
isWin();
}
public void isWin() {
if (sum 21) {
JOptionPane.showMessageDialog(this, "你輸了");
clear();
return;
} else if (sum == 21) {
JOptionPane.showMessageDialog(this, "你贏了");
clear();
return;
} else {
int i = JOptionPane.showOptionDialog(this, "是否繼續(xù)?", "提示",
JOptionPane.OK_CANCEL_OPTION,
JOptionPane.INFORMATION_MESSAGE, null, null, null);
if (i == JOptionPane.OK_OPTION) {
onClick();
} else
return;
}
}
private void clear() {
label_2.setText("合計:");
sum = 0;
number = 0;
label_1.setText("你已經(jīng)擁有的牌:");
}
/**
* @return
*/
protected JLabel getLabel_2() {
if (label_2 == null) {
label_2 = new JLabel();
label_2.setText("合計:");
label_2.setBounds(313, 35, 66, 18);
}
return label_2;
}
}
真好無聊中。。
你這個顯示不了那么多。。點那個參考資料可以看到完整的代碼
public class Course {
private String courseName;//課程名字
private int cuorseId;//課程編號
private String teacher;//任課老師
。。
}
題。你可以在網(wǎng)上下更全套的試題練習。
全國2008年10月考試Java 語言程序設計(一)試題
課程代碼:04747
一、單項選擇題(本大題共10小題,每小題1分,共10分)
在每小題列出的四個備選項中只有一個是符合題目要求的,請將其代碼填寫在題后的括號內(nèi)。錯選、多選或未選均無分。
1.下述字符組合不能作為Java程序標識符的是( )
A.Aa12 B.大x
C.y小 D.5x
2.以下程序代碼的輸出的結果是( )
int x=53;
System. out. println(1.0+x/2);
A.27.0 B.27.5
C.1.026 D.1.026.5
3.參照以下Java代碼,以下四個敘述中最確切的是( )
class A{
int x; static int y;
void fac(String s)
}
A.x、y和s都是成員變量
B.x是實例變量、y是類變量、s是局部變量
C.x和y是實例變量、s是參數(shù)
D.x、y和s都是實例變量
4.需要分析字符串,并將字符串分解成可被獨立使用的單詞,可使用java. util包中的類是
( )
A.String B.StringBuffer
C.StringTokenizer D.stringTokenizer
5.要為程序的子窗口設定一個由字符串s指定的名字,可以采用的代碼是( )
A.JFrame(s) B.window(s)
C.new JFrame(s) D.super(s)
6.以下關于菜單的敘述中,正確的是( )
A.菜單分三級定義,最高一級的是菜單條,菜單條中放菜單,菜單中放菜單項
B.菜單分三級定義,最高一級的是菜單,菜單中放菜單條,菜單條中放菜單項
C.菜單分兩級定義,最高一級的是菜單,菜單中放菜單項
D.菜單分兩級定義,最高一級的是菜單條,菜單條中放菜單項
7.以下所述內(nèi)容全部是字型要素的是( )
A.字體、字形和大小 B.字體、風格和字號
C.字形、風格和字號 D.字形、顏色和字號
8.用Thread子類實現(xiàn)多線程的步驟順序是( )
A.聲明Thread類的子類,創(chuàng)建Thread子類的實例,讓線程調(diào)用start()方法
B.聲明Thread類的子類,在子類中重新定義run()方法,創(chuàng)建Thread子類的實例
C.創(chuàng)建Thread子類的實例,讓線程調(diào)用start()方法
D.聲明Thread類的子類,在子類中重新定義run()方法,創(chuàng)建Thread子類的實例,讓線程調(diào)用start()方法
9.為16位Unicode字符流提供讀和寫操作支持的類分別是( )
A.FileInputStream類和FileOutputStream類
B.InputStream類和OutputStream類
C.FileReader類和FileWriter類
D.File_Reader類和File_Writer類
10.能利用對象提供的方法獲得流對象和實現(xiàn)網(wǎng)絡連接的是( )
A.URLConnection對象 B.URL對象
C.InetAddress對象 D.TCP/IP對象
二、填空題(本大題共10小題,每小題2分,共20分)
請在每小題的空格中填上正確答案。錯填、不填均無分。
11.一個小應用程序必須定義成一個_________。
12.用條件運算符構造一個表達式:goal等于10時,表達式的值為“對了!”,否則,表達式的值為“錯了!”。這個表達式是_________。
13.類是對一組相同對象的描述,類概括了同類對象的共有性質(zhì):_________。
14.設有數(shù)組a和b的定義如下:
int[]a=;int[]b=
……
執(zhí)行以下代碼“a=b;”,除了完成賦值操作之外,引起系統(tǒng)額外要做的工作是_________。
15. _________布局使容器的多個組件擁有同一個顯示空間,某一時刻只能顯示一個組件。
16.Java語言為處理鼠標事件提供兩個接口:_________接口和MouseMotionListener接口。
17.某個繪圖方法設置成“異或模式”繪圖,并用黃色作為異或模式設定的繪圖顏色。如果當時背景色為紅色,并用紅色繪制線段,則線段的實際顏色是_________。
18.程序員用Java語言編寫多線程應用程序,程序員能控制的關鍵性工作有兩個方面:一是編寫線程的_________方法;二是建立線程實例。
19.BufferedWriter類是提供緩沖式輸出的類。程序需要先創(chuàng)建_________對象,再利用這個對象創(chuàng)建BufferedWriter對象。
20.在Java語言中,客戶端使用的套接字類是_________。
三、簡答題(本大題共6小題,每小題3分,共18分)
21.請寫出表示條件“x=2與y=3有且只有一個成立”的Java表達式”。
22.如果類Student是類Person的子類,類Undergraduate是類Student的子類,請指出以下代碼行中哪些是不合法的。
Person p1=new Student();
Person p2=new Undergraduate();
Student s1=new Person();
Student s2=new Undergraduate();
Undergraduate ug1=new Person();
Undergraduate ug2=new Student();
Object ob=new Student();
23.請寫出程序處理文本框輸入結束事件(回車)添加監(jiān)視器的方法,以及監(jiān)視器類必須實現(xiàn)的接口方法。
24.請寫出一條語句,能夠繪制一條從點(20,30)開始,長為100像素的水平線段。設調(diào)用的對象是類型為Graphics的g。
25.某Java程序要使用文件輸入輸出流,請寫出該程序所需要的import語句。
26.JDBC是Java程序與數(shù)據(jù)庫連接的API,請寫出JDBC能做的三件事情。
四、程序填空題(本大題共5小題,每空2分,共20分)
27.方法int maxDigit(int n)的功能是找出十進制整數(shù)n各位中最大的一位數(shù)字。例如,n=23765,該方法的返回值是7。
static int maxDigit(int n){
int c=0,d;
while(n>0){
d=_______;
if(d>c) c=d;
n/=10;
}
________;
}
28.某程序的界面包含一個文本區(qū)text1、一個文本框text2和一個按鈕button。實現(xiàn)在文本區(qū)中輸入整數(shù)序列后,點擊按鈕,程序響應按鈕事件,累計文本區(qū)輸入的整數(shù)序列,并將總和輸出在文本框中。這里給出的是其中相應按鈕事件的方法。
public void actionPerformed(ActionEvent e){
int sum;
if(e.getSource()==button){
String s=text1.________;//獲取text1中的信息
StringTokenizer fenxi=new StringTokenizer(s,”,,,\n”);
int n=fenxi.countTokens();
double a[]=new double[n];
for(int i=0;i<n;i++){
String temp=fenxi.nextToken();
a[i]=Double.valueOf(temp).doubleValue();
}
sum=0;
for(int i=0;i<n;i++){
__________;
}
text2.setText(””+sum);//刷新顯示。
}
}
29.以下是生成菜單項對象,以及菜單項選擇事件處理方法的部分代碼。要求當菜單項singingItem被選中時,在文本框text中輸出“唱歌菜單項被選中!”的字樣。
……
singingItem=new________(”唱歌”);//生成菜單項對象
……
public void actionPerformed(ActionEvent e){
if(e.getSource()==singingItem)
text.setText(e.________()+ ”菜單項被選中!”);
}
30.某小應用程序實現(xiàn)幻燈片放映。小應用程序的init()方法將幻燈片讀入數(shù)組中存儲和注冊鼠標監(jiān)視器。程序運行時,單擊鼠標,就順序變換放映幻燈片的序號。這里給出的是其中的paint()方法和mousePressed()方法。
final int number=30;//假定幻燈片有30張
int count=0;
Image[]pic=new Image[number];
public void paint(______gc){
if((pic[count])!=null)
gc.drawImage(pic[count],10,10,pic[count].getWidth(this),
pic[count].getHeight(this),this);
}
public void mousePressed(MouseEvent e){
count=(count+1)% number;//循環(huán)逐張顯示
__________;
}
31.以下定義的類shareDataManager用于管理多個線程共享數(shù)據(jù)data。一些線程要減少data,另一些線程要增加data。由于data不可以是負值,修改data的方法對這些線程來說不僅要互斥,還要同步。類提供一個方法modiData()供修改data的線程調(diào)用,該方法在data修改結束后,應通知其它等待進入這個方法的線程。
class ShareDataManager{
int data=0;
________void modiData(int delta){
if(delta>=0){
data+=delta;
}else {
while(data <delta){
try{System.out.println(”發(fā)生等待!”);
wait();
}catch(InterruptedException e)
}
data-=delta;
}
_________;
}
ShareDataManager(int ititData)
}
五、程序分析題(本大題共5小題,每小題4分,共20分)
32.閱讀下列程序,請寫出該程序的輸出結果。
import java.applet.*;import java.awt.*;
class Point{
int x,y;
Point(int xx,int yy)
Point(Point p)
void m(int dx,int dy)
}
class Circle extends Point{
int r;
Circle(Point p, int rr)
float c()
float a()
}
public class sample extends Applet{
Circle yuan; Point d;
public void init()
public void paint(Graphics g){
g.drawString(”yuan Circle”+(int)(yuan.c()*100.0)/100.0,5,20);
g.drawString(”yuan Area”+(int)(yuan.a()*100.0)/100.0,5,40);
}
}
33.閱讀下列程序,請寫出該程序的功能。
import java. util.*;
public class Class1{
public static void main(Srting args[]){
Date date1=new Date();
System. out. println (datel);
String t=datel.toString();
int endPos=t.indexOf(‘C’);
t=t.substring(11,endPos);
System. out println(t);
}
}
34.閱讀下列程序,請寫出該程序的功能。
import java.applet.*;import javax.swing.*;import java.awt.event.*;
public class Class l extends Applet implements ActionListener{
JTextField text1,text2;
public void init(){
text1=new JTextField(10); text2=new JTextField(10);
setSize(200,100); add(text1); add(text2);
text1.addActionListener(this);
}
public void actionPerformed(Action Event e){
long n;
if(e.getSource()==text1){
n=Long.parseLong(text1.getText());
text2.setText(String.valueOf(n*n));
}
}
}
35.閱讀以下程序,請寫出該程序的功能。
import javax.swing.*; import java.awt.*;import java.awt.event.*;
class MyScrollBar extends JscrollBar{
public MyScrollBar(int init, int len, int low, int high){
super(JScrollBar. HORIZONTAL, init,len,low,high);
}
}
class MyWindow extends JFrame implements AdjustmentListener{
private JTextField text;
MyWindow(String s){
super(s);
MyScrollBar myBar=new MyScrollBar(10,10,0,255);
Container con=this. getContentPane();
con. setLayout(new GridLayout(2,1));
this. setSize(200,100);
this. setLocation(100,100);
myBar.addAdjustmentListener(this);
text=new JTextField(””,20);
con. add(text);con.add(myBar);
this.setVisible(true);
}
public void adjustmentValueChanged(AdjustmentEvent e){
MyScrollBar myBar=(MyScrollBar)e.getAdjustable();
text.setText(””+myBar.getValue());
}
}
public class Class1{
public static void main(String[]args){
MyWindow myWindow=new MyWindow(”text5_4”);
}
}
36.小應用程序創(chuàng)建一個線程。例子使用容器類方法getGraphics()獲得Graphics對象,給線程作為畫筆使用。請寫出該程序中這個線程的工作內(nèi)容。
import java.applet.*;import java.awt.*;
public class Class1 extends java.applet.Applet implements Runnable{
Thread redBall;Graphics redPen;
int rx=0,ry=0;
public void init(){
setSize(250,200);
redBall =new Thread(this);
redPen=getGraphics();
redPen. setColor(Color.red);
setBackground(Color.gray);
}
public void start()
public void run(){
while(true){
if(Thread.currentThread()==redBall){
rx=(int)(80*Math.random());
ry=(int)(80*Math.random());
red Pen.setColor(Color.red);
red Pen.fillOval(100+rx,100+ry,10,10);
try
catch(InterruptedException e){}
redPen.setColor(Color.gray);
redPen.fillOval(100+rx,100+ry,10,10);
}
}
}
}
六、程序設計題(本大題共2小題,每小題6分,共12分)
37.編寫一個方法halfArray(),要求該方法有一個元素類型為int的數(shù)組參數(shù),方法返回一個新數(shù)組,新數(shù)組的長度與參數(shù)數(shù)組的長度相同,而新數(shù)組元素的值是參數(shù)數(shù)組各元素的一半。
38.一個Java小應用程序,界面有三個文本框和兩個按鈕,前兩個文本框用于輸入整數(shù),第三個文本框用于輸出結果。兩個按鈕分別表示加和減運算。當前兩個文本框輸入整數(shù)后,點擊相應按鈕,程序就將計算結果輸出在第三個文本框中。以下是程序的大部分,其中監(jiān)視按鈕事件的方法未給出,試編寫處理按鈕事件的方法。
注:這里是給定部分的程序,你要編寫的是actionPerformed(ActionEvent e)方法。
import java.applet.*;import javax.swing.*;
import java.awt.*; import java.awt.event.*;
class Panel1 extends JPanel{
JTextField text1, text2, text3;JButton addButton,subButton;
Panel1(){
text1=new JTextField(10);text2=new JTextField(10);
text3=new JTextField(10);setLayout(new GridLayout(5,1));
addButton=new JButton(”加”);subButton=new JButton(”減”);
add(text1); add(text2);
add(text3); add(addButton); add(subButton);
}
}
public class Classl extends Applet implements ActionListener{
Pane1 panel;
public void init(){
setSize(100,200); panel=new Panel1();add(panel);
(panel.addButton).addActionListener(this);
(panel.subButton). addActionListener(this);
}
public void actionPerformed(ActionEvent e){
public static void main(String[] args) {
/**
*
* (1)實現(xiàn)整型數(shù)組的創(chuàng)建要求由用戶輸入數(shù)組長度以及數(shù)組元素
*/
Scanner input = new Scanner(System.in);
System.out.print("請輸入整型數(shù)組的長度:");
int lengthInt = input.nextInt();
int[] arrInt = new int[lengthInt];
for (int i = 0; i arrInt.length; i++) {
System.out.println("請輸入第" + (i + 1) + "個元素");
arrInt[i] = input.nextInt();
}
System.out.print("整型數(shù)組:");
for (int i = 0; i arrInt.length; i++) {
System.out.print(arrInt[i] + "\t");
}
System.out.println();
/**
*
* (2)查找數(shù)組中最大值最小值以及求平均值
*/
int max = 0;
int min = arrInt[0];
double sum = 0;
for (int i = 0; i arrInt.length; i++) {
if (arrInt[i] max) {
max = arrInt[i];
}
if (arrInt[i] min) {
min = arrInt[i];
}
sum += arrInt[i];
}
double avg = sum / arrInt.length;
System.out.println("最大值:" + max);
System.out.println("最小值:" + min);
System.out.println("平均值:" + avg);
/**
*
* (3)實現(xiàn)數(shù)組的排序,有用戶選擇何種方式
*/
System.out.println("請選擇排序的方式(輸入數(shù)字即可):");
System.out.println("1:由小到大,2:由大到小");
int a = input.nextInt();
switch (a) {
case 1:
int i,
j,
t;
for (i = 0; i arrInt.length - 1; i++) {
for (j = 0; j arrInt.length - i - 1; j++) {
if (arrInt[j + 1] arrInt[j]) {
t = arrInt[j + 1];
arrInt[j + 1] = arrInt[j];
arrInt[j] = t;
}
}
}
break;
case 2:
int x,
y,
z;
for (x = 0; x arrInt.length - 1; x++) {
for (y = 0; y arrInt.length - x - 1; y++) {
if (arrInt[y + 1] arrInt[y]) {
z = arrInt[y + 1];
arrInt[y + 1] = arrInt[y];
arrInt[y] = z;
}
}
}
break;
default:
System.out.println("輸入有誤");
break;
}
for (int k = 0; k arrInt.length; k++) {
System.out.print(arrInt[k] + "\t");
}
System.out.println();
/**
*
* (4)實現(xiàn)數(shù)組的插入,并對插入后的數(shù)組重排序
*/
System.out.println("該數(shù)據(jù)長度為" + arrInt.length + ",插入數(shù)據(jù)后也記錄最后" + "個的元素");
boolean ref = true;
do {
System.out.println("請插入元素:");
for (int i = 0; i arrInt.length; i++) {
if (i arrInt.length - 1)
arrInt[i] = arrInt[i + 1];
else
arrInt[i] = input.nextInt();
}
System.out.println("是否再插入新的元素?(是:Y,否:其他任何字符)");
if (!input.next().equalsIgnoreCase("y")) {
ref = false;
}
} while (ref);
System.out.print("插入元素后的數(shù)組:");
for (int i = 0; i arrInt.length; i++) {
System.out.print(arrInt[i] + "\t");
}
System.out.println();
/**
*
* (5)實現(xiàn)對某個數(shù)組的刪除或者修改操作
*/
System.out.println("請選擇操作:1.刪除;2.修改");
int d = input.nextInt();
System.out.println("請輸入要操作的元素下標:(輸入0-" + (arrInt.length - 1)
+ "之內(nèi)的數(shù)字即可):");
int index = input.nextInt();
System.out.println(index);
int[] arrs = new int[arrInt.length - 1];
switch (d) {
case 1:
for (int i = 0; i arrInt.length - 1; i++) {
if (i == index index arrInt.length - 1) {
arrs[i] = arrInt[index + 1];
} else if (i index index arrInt.length - 1) {
arrs[i] = arrInt[i + 1];
} else {
arrs[i] = arrInt[i];
}
}
for (int i = 0; i arrs.length; i++) {
System.out.print(arrs[i] + "\t");
}
break;
case 2:
System.out.println("請輸入新的元素:");
int num = input.nextInt();
arrInt[index] = num;
for (int i = 0; i arrInt.length; i++) {
System.out.print(arrInt[i] + "\t");
}
break;
default:
System.out.println("輸入有誤");
break;
}
}
java課程設計題目及代碼分別是:
1、題目:計算器。設計內(nèi)容是設計一個圖形界面(GUI)的計算器應用程序,完成簡單的算術運算。
設計要求是設計的計算器應用程序可以完成家法、減法、乘法、除法和取余運算。且有小數(shù)點、正負號、求倒數(shù)、退格和清零功能。
2、代碼:
數(shù)字按鈕NumberButton類如下:
import java.awt.
import java.awt.event.
import javax.swing.
public class NumberButton extends Button.
{
int number.
public NumberButton(int number).
{
super(""+number).
this.number=number.
setForeground(Color.blue).
}
public int getNumber().
{
return number;
}
}
其它java課程設計題目及代碼是:
題目:華容道。編寫一個按鈕的子類,使用該子類創(chuàng)建的對象代表華容道中的人物。通過焦點事件控制人物顏色,當人物獲得焦點時顏色為藍色,當失去焦點時顏色為灰色。
通過鍵盤事件和鼠標事件來實現(xiàn)曹操、關羽等人物的移動。當人物上發(fā)生鼠標事件或鍵盤事件時,如果鼠標指針的位置是在人物的下方(也就是組件的下半部分)或按下鍵盤的“↓“鍵,該人物向下移動。向左、向右和向上的移動原理類似。
代碼是:
String name[]={"曹操","關羽","張","劉","馬","許","兵","兵","兵","兵"}.
for(int i=0;iname.length;i++).
{
person[i]=new Person(i,name[i]).
person[i].addKeyListener(this).
person[i].addMouseListener(this).
//? ? ?person[i].addFocusListener(new Person).
add(person[i]).
}
person[0].setBounds(104,54,100,100).
person[1].setBounds(104,154,100,50).
person[2].setBounds(54,154,50,100).
person[3].setBounds(204,154,50,100).
person[4].setBounds(54,54,50,100).
person[5].setBounds(204,54,50,100);
person[6].setBounds(54,254,50,50);
person[7].setBounds(204,254,50,50);
person[8].setBounds(104,204,50,50);
person[9].setBounds(154,204,50,50);