1、观察下面的程序片断,指出其中的父类和子类,以及父类和子类的各个域和方
法。
class SuperClass
{
int data;
voidsetData(intnewData)
{
data=newData~
}
intgetData()
{
return data~
}
}
class SubClass extends SuperClass
{
int suhData;
void setSubData(intnewData)
{
suhData=new Data;
}
intgetData()
{
return subData;
}
}
答:
父类 SuperClass
父类的域 data来源:考试大的美女编辑们
父类的方法 setData(),getData()
子类 SubClass
子类的域 data,subData
子类的方法 setSubData(),setData(),getData()采集者退散
2、
答 :
3、创建下面的 GUI ,颜色列表框为红色、绿色和蓝色(不必为各组件提供功能) 。
答 :参考程序如下:
import javawt.*;
public class Chp9_3_B extends Frame{
Choice ch;
Checkbox bg,fg;
Button btnOK,btnCancel;
Panel p,p1,p2;
public Chp9_3_B(){
p=new Panel();
p.setLayout(new GridLayout(2,1));
p1=new Panel();
p2=new Panel();
p1.setLayout(new FlowLayout());
.........
p2.setLayout(new FlowLayout());
ch=new Choice();
ch.add("红色 ");
ch.add("绿色 ");
ch.add("蓝色 ");
bg=new Checkbox(" 背景 ");
fg=new Checkbox(" 前景 ");
p1.add(bg);
p1.add(fg);
btnOK=new Button(" 确定 ");
btnCancel=new Button(" 取消 ");
p2.add(btnOK);
p2.add(btnCancel);
p.add(p1);
p.add(p2);
add(ch,BorderLayout.NORTH);
add(p,BorderLayout.CENTER);
setSize(400,300);
}
public static void main(String[] args){
new Chp9_3_B().setVisible(true);
}
}
4、创建下面的 GUI ,要求在文本框中输入分数,单击“求和”按钮后在结果文本框中显示总分。
答 :
参考程序如下:
import javawt.*;
import javawt.event.*;
public class Chp9_3_C extends Frame implements ActionListener{
TextField textField1,textField2,textField3;
Button button1=new Button(" 求和 ");
Panel panel1,panel2;
public Chp9_3_C(){
textField1=new TextField();
textField2=new TextField();
textField3=new TextField();
panel1=new Panel();
panel2=new Panel();
panel1.setLayout(new GridLayout(3,2));
panel2.setLayout(new FlowLayout());
panel1.add(new Label(" 数学 : "));
panel1.add(textField1);
panel1.add(new Label(" 英语 : "));
panel1.add(textField2);
panel1.add(new Label(" 总分 : "));
panel1.add(textField3);
panel2.add(button1);
add(panel1,BorderLayout.CENTER);
add(panel2,BorderLayout.SOUTH);
button1.addActionListener(this);
setSize(300,200);
setVisible(true);
}
public static void main(String[] args){
new Chp9_3_C();
}
public void actionPerformed(ActionEvent e){
int n1,n2,sum;
n1=Integer.parseInt(textField1.getText());
n2=Integer.parseInt(textField2.getText());
sum=n1+n2;
textField3.setText(""+sum);
}
}
5、编写一个将华氏温度转换为摄氏温度的程序。应从键盘输入华氏温度,然后通
过文本显示转换后的摄氏温度。使用下面的公式进行温度转换:
摄氏温度 =5/9Χ(华氏温度 -32)
答 :
参考程序如下:
import javapplet.Applet;
import javawt.*;
import javawt.event.*;
public class Chp9_3_E extends Applet implements
MouseListener,MouseMotionListener{
int x1,y1,x2,y2;
public void init(){
addMouseListener(this);
addMouseMotionListener(this);
}
public void paint(Graphics g){
g.drawRect(x1,y1,x2,y2);
int area=Math.abs(x2-x1)*Math.abs(y2-y1);
showStatus("矩形面积 : "+area);
}
//implementation of MouseListener
public void mousePressed(MouseEvent e){
x1=e.getX();
y1=e.getY();
}
public void mouseClicked(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public void mouseReleased(MouseEvent e){}
//implementation of MouseMotionEvent
public void mouseDragged(MouseEvent e){
x2=e.getX();
y2=e.getY();
repaint();
}
public void mouseMoved(MouseEvent e){}
}
6、编写程序,创建下面的 GUI( 不必为各组件提供功能 )
答 :
import javawt.*;
public class Chp9_3_A extends Frame{
TextField t=new TextField();
String[] op={"7","8","9","/","4","5","6","*","1","2","3","-","0",".","=","+"};
Button[] btn=new Button[16];
Panel p=new Panel();
public Chp9_3_A(){
setLayout(new BorderLayout());
p.setLayout(new GridLayout(4,4));
for(int i=0;i
btn[i]=new Button(op[i]);
p.add(btn[i]);
}
add(t,BorderLayout.NORTH);
add(p,BorderLayout.CENTER);
setSize(400,300);
}
public static void main(String[] args){
new Chp9_3_A().setVisible(true);
}
}
7、编写一个程序,从键盘输入 10 个整数,并将这些数据排序后在标准输出上输出。
答 :
import java.io.*;
public class Sort{
public static void main(String args[])
{
int a[]=new int[10];
byte b[]=new byte[10];
int t;
String str;
System.out.println(" 请输入 10 个整数: ");
try{
for(int i=0;i<10;i++)
{System.out.print("No. "+(i+1)+": ");
System.in.read(b);
str=new String(b);
str=str.trim();
a[i]=Integer.parseInt(str);
}
}catch(IOException e){
System.out.println(e.toString());
}
catch(NumberFormatException e){
System.out.println(e.toString());
}
for(int i=0;i<9;i++)
for(int j=i+1;j<10;j++)
{
if(a[i]>a[j]){
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
for(int i=0;i<10;i++)
System.out.println(a[i]+"\t");
}
}
8、编写一个程序,从键盘输入一串字符,从屏幕输出并将其存入 a.txt 文件中。采集者退散
答 :
import java.io.*;
public class InFile{
public static void main(String[] args)
{
int ch;
try{
FileOutputStream out=new FileOutputStream("a.txt");
while((ch=System.in.read())!='\r'){
System.out.write(ch);
out.write(ch);
}
out.close();
System.out.write('\n');
}catch(IOException e){
System.out.println(e.toString());
}
System.out.println(" 输出至文件完毕! ");
}
}
9、编写一个程序,从键盘输入一串字符,统计这串字符中英文字母、数字、其他符号的字符数。
答 :
import java.io.*;
public class Count{
public static void main(String[] args)
{
int x=0,y=0,z=0;
.........
int ch;
try{
while((ch=System.in.read())!='\r'){
if(ch>='A'&&ch<='Z'||ch>='a'&&ch<='z')
x++;
else if(ch>='0'&&ch<='9')
y++;
else
z++;
}
}catch(IOException e){
System.out.println(e.toString());
}
System.out.println(" 英文字母: "+x);
System.out.println(" 数字字符: "+y);
System.out.println(" 其它字符: "+z);
}
}
10、17.编写一个程序,在当前目录下创建一个子目录 test,在这个新创建的子目录下创建一个文件,并把这个文件设置成只读。
答 :
import java.io.*;
class CopyFile{
public static void main(String[] args) {
String file1,file2 ;
int ch = 0 ;
try {
file1=args[0];
file2=args[1];
File 无效 Stream fis = new File 无效 Stream(file1);
FileOutputStream fos=new FileOutputStream(file2);
while ((ch=fis.read())!=-1)
fos.write(ch);
fis.close();
fos.close();
}
catch(FileNotFoundException e){
System.out.println(" 源文件 :未找到 !");
}catch(ArrayIndexOutOfBoundsException e){
System.out.println(" 缺少运行参数! ");
System.exit(-1);
}
catch (IOException e){
System.out.println(e.toString());
}
}
}
11、12.根据所给创建自定义异常类的使用格式,编写一个自定义异常的小程序。
答 :
class Excp1 extends Exception
{}
class Excp2 extends Excp1
{}
public class ExceptionExam7
{
public static void main(String [] args) throws Exception
{
try
{
throw new Excp2();
}
catch(Excp2 e)
{
System.out.println("catch1");
throw new Excp1();
}
catch(Excp1 e)
{
System.out.println("catch2");
throw new Exception();
}
catch(Exception e)
{
System.out.println("catch3");
}
finally
{
System.out.println("finally");
}
}
}
说明:自定义异常类,关键是选择继承的超类——必须是 Exception 或者其子类。用异常代表错误,而不要再使用方法返回值
12、6.编写一个程序,以说明 catch(Exception e)如何捕获各种异常
答 :
public class ExceptionExam
{
public static void main(String [] args)
{
try
{
.........
int i=0;
i=3/i;// 将产生算术异常。
}
catch(ArithmeticException e)// 找到了匹配的异常,执行该 catch 块。
{
System.out.println(" 发生了 ArithmeticException 异常 ");
}
catch(AarryIndexOutOfBoundsException e)// 不是匹配的异常,且不会再捕获
//异常,如果发生数组索引超出范围所产生的异常,将执行该 catch 块。
{
System.out.println(" 发生了 AarryIndexOutOfBoundsException 异常 ");
}
catch(Exception e)
//前两个 catch 块均无法捕获 try 块中发生的异常时,才会执行该 catch 块。
{
System.out.println(" 发生了异常 ");
}
finally
{ System.out.println(" 执行 d Finally"); }
}
}
13、16.利用文件输入输出流编写一个实现文件拷贝的程序, 源文件名和目标文件名通过命令行参数传入
答 :
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class mytxt {
public static void main(String[] args) throws IOException {
baiString infile = args[1].toString(); // 输入文件
String fileout = "result.txt"; // 输出路径
try {
// 输出结果
File f = new File(fileout);
FileOutputStream fout = new FileOutputStream(f);
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(fout));
// 输入文件
BufferedReader br = null;
File file = new File(infile);
if (file.exists()) {
FileInputStream fin = new FileInputStream(file);
br = new BufferedReader(new InputStreamReader(fin));
}
String str = br.readLine();
int n = 0;
while (str != null && !str.isEmpty()) {
n++;
str = br.readLine();
bw.write(str + "\n");
}
bw.flush();
bw.close();
br.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
14、1、以下程序的输出结果为 _ Peter is 17 years old! ___。
public class Person {
String name;
int age;
public Person(String name, int age) {
this . name = name;
this . age = age;
}
public static void main(String[] args) {
Person c = new Person( "Peter" , 17);
System. out .println(c. name + " is " + c. age + " years old!" );
}
}
15、以下程序的输出结果为 __课程号 :101 课程名 :ASP 学分:3 ___。
public class Course {
private String cNumber;
private String cName;
private int cUnit ;
public Course(String number, String name, int unit) {
cNumber = number;
cName = name;
cUnit = unit;
}
public void printCourseInfo() {
System. out .println( " 课程号 :" + cNumber + " 课程名 :" + cName + " 学分 :" + cUnit );
}
}
class CourseTest {
public static void main(String[] args) {
Course c;
c = new Course( "101" , "ASP", 3);
c.printCourseInfo();
}
}
16、以下程序的输出结果为 汤姆猫体重: 20.0 斤_。
public class Tom {
private float weight ;
private static String name ;
public void setWeight( float weight) {
this . weight = weight;
}
private void out() {
System. out .println( name + " 体重: " + weight + " 斤" );
}
public static void main(String[] args) {
Tom. name = "汤姆猫 " ;
Tom cat = new Tom();
cat.setWeight(20);
cat.out();
}
}
17、下列程序的运行结果是 12345__。
public class MyClass {
int a[] = { 1, 2, 3, 4, 5 };
void out() {
for ( int j = 0; j < a. length ; j++)
System. out .print( a[j] + "" );
}
public static void main(String[] args) {
MyClass my = new MyClass();
my.out();
}
}
18、程序设计题
1、按以下要求编写程序
(1) 创建一个 Rectangle 类,添加 width 和 height 两个成员变量
(2) 在 Rectangle 中添加两种方法分别计算矩形的周长和面积
(3) 编程利用 Rectangle 输出一个矩形的周长和面积
解答:
public class Rectangle {
float width , height ;
public Rectangle( float width, float height) {
this . width = width;
this . height = height;
}
public float getLength(){
return ( this . width + this . height ) * 2;
}
public float getArea(){
return this . width * this . height ;
}
public static void main(String [] args) {
Rectangle rect = new Rectangle(10, 20);
System. out .println( " 周长是: " + rect.getLength());
System. out .println( " 面积是: " + rect.getArea());
}
}
19、按以下要求编写程序
(1) 编写 Animal 接口,接口中声明 run() 方法
(2) 定义 Bird 类和 Fish 类实现 Animal 接口
(3) 编写 Bird 类和 Fish 类的测试程序,并调用其中的 run() 方法
解答:
public interface Animal {
void run();
}
class Bird implements Animal {
public void run() {
System. out .println( " 鸟儿在飞 ..." );
}
}
class Fish implements Animal {
public void run() {
System. out .println( " 鱼儿在游 ..." );
}
}
public class TestAnimal {
public static void main(String[] args) {
Bird bird = new Bird();
bird.run();
Fish fish = new Fish();
fish.run();
}
}
20、编写一个 Frame框架应用程序,要求如下:
(1) 在窗口设置两个菜单“文件” 、“编辑”
(2) 在“文件”菜单里添加三个菜单项“打开” 、“保存”、“关闭”
(3) 在“编辑”菜单里添加两个菜单项“复制” 、“粘贴”
(4) 点击关闭菜单项时,使程序关闭。
解答:
import
import
import
import
import
import
import
import java.awt.event.WindowAdapter;
import
/*
* 主窗体
*/
public class MyFrame extends Frame {
private static final long serialVersionUID
private Frame frmMain ; // 窗体
MenuBar mb; // 菜单栏
Menu mnuFile ; // " 文件 " 菜单
Menu mnuEdit ; // " 编辑 " 菜单
MenuItem miOpen; // " 打开 " 菜单项
MenuItem miSave; // " 保存 " 菜单项
MenuItem miClose ; // " 关闭 " 菜单项
MenuItem miCopy; // " 复制 " 菜单项
MenuItem miPaste ; // " 粘贴 " 菜单项
public MyFrame() {
frmMain = new Frame( "主窗体 " );
// 创建菜单栏
mb = new MenuBar();
// 创建菜单
mnuFile = new Menu( " 文件 " );
mnuEdit = new Menu( " 编辑 " );
// 创建菜单项
miOpen = new MenuItem( "打开 " );
miSave = new MenuItem( "保存 " );
miClose = new MenuItem( " 关闭 " );
miCopy = new MenuItem( "复制 " );
miPaste = new MenuItem( " 粘贴 " );
}
public void showFrame() {
frmMain .setSize(800, 600);
frmMain .setLocation(100, 100);
frmMain .setBackground(Color. white );
frmMain .setVisible( true );
frmMain .setLayout( null );
frmMain .addWindowListener( new WindowHandler()); // 注册窗口监听器
// 将菜单栏放入窗体中
frmMain .setMenuBar( mb);
// 将菜单放入菜单栏中
mb.add( mnuFile );
mb.add( mnuEdit );
// 将菜单项放入菜单中
mnuFile .add( miOpen);
mnuFile .add( miSave);
mnuFile .add( miClose );
mnuEdit .add( miCopy);
mnuEdit .add( miPaste );
// 注册动作事件监听器
miClose .setActionCommand( "miClose_Clicked" );
miClose .addActionListener( new MenuHandler());
}
// 定义一个内部类,在这个类中编写窗口关闭事件处理程序。
private class WindowHandler extends WindowAdapter {
public void windowClosing(WindowEvent e) {
System. exit (0); // 退出应用程序,状态码 0 表示正常终止,非 0 表示异常终止。
}
}
// 定义一个内部类,在这个类中编写动作事件处理程序。
private class MenuHandler implements ActionListener {
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand() == "miClose_Clicked" ) {
System. exit (0); // 退出应用程序
}
}
}
}
public class TestMyFrame {
public static void main(String[] args) {
// 启动主窗体
MyFrame guiWindow = new MyFrame();
guiWindow.showFrame();
}
}
21、程序 Exer
import .*;
public class Exerl_1
{
public static void main (String args[ ])
{
"This is a ");
"strint.")
}
}
该程序的输出结果如下:
This is a string.
22、程序
Import .*;
Public class Exerl_2
{
Public static void mian(String args[ ])
{
Char ch=" ";
"Input a character:");
Try{
ch=(char) e)
{ }
"The character is \'"+ch+"\'");
}
}
该程序的输出结果如下
Input a character: k↙
The character is ‘k’
23、编写一个 Java Application 程序,使该程序运行后输出字符串 "Hello!How are
you." 。
参考程序内容如下
import .*;
public class prol_1
{
public static void main(String args[ ])
{
"Hello!How are you.");
}
}
24、编写一个 Java Application 程序,使该程序输出显示如下结果:
Var1=10,var2=
Ok!
参考程序内容如下:
import .*;
public class prol_2
{
public static void main(String args[ ])
{
int var1=10;
double var2=;
"var1="+var1+",var2="+var2);
"ok!");
}
}
25、编程将一个浮点型数的整数部分和小数分别输出显示。
import .*;
public class pro2_2
{
public static void main(String args[])
{
double d=;
d1=d;
int n=0;
while(true)
{
d--;
if(d<0)
break;
n++
}
"integer="+n+",decimal="+(d1-n));
}
}
运行该程序后,输出结果请读者自己分析
26、
27、编程求出自然数 101~205 中的所有素数。
程序内容如下
import .*;
public class pro2_4
{
public static void main(String args[])
{
int n=0;
boolean prime=false;
for(int i=101;i<=205;i+=2)
{
prime=true;
for(int j=2;j<i;j++)
if(j%j==0)
{
prime=false;
break;
}
if(prime)
{
" ");
n++;
}
if(n%8==0)
28、百鸡百钱问题。公鸡每只 3 无,母鸡每只 5 无,小鸡 3 只一元,用 100 元买 100
只鸡,公鸡、母鸡、小鸡应各买多少
程序内容如下:
import .*;
public class pro2_6
{
public static void main(String args[])
{
for(int a=1;a<34;a++)
for(int b=1;b<21;b++)
if(3*a+5*b+(100-a-b)/3==100 && (100-a-b)%3==0)
" 公鸡 ="+a+" ,母鸡 ="+b+" ,小鸡 ="+(100-a-b));
}
}
运行该程序后输出结果如下:
公鸡 =4,母鸡 =12,小鸡 =84
公鸡 =11,母鸡 =8,小鸡 =81
公鸡 =18,母鸡 =4,小鸡 =78
29、编程输出如图所示的图形
import .*;
public class pro2_7
{
public static void main(String args[])
{
for(int i=1;i<i+9;i++)
{
for(int j=1;j<i+9;j++)
if(j<=9-i)
" ")
else
"*");
30、
class A
{
int x,y,z,sum;
A(int i,int j,int k)
{
x=i;
y=j;
z=k;
sum=x+y+z;
}
boolean sameA(A al)
{
if(==x)&==y)&==z))
return true;
else
return false;
}
boolean sameS(A al)
{
if==sum)
return true;
else
return false;
}
}
class Exer3_1
{
public static void main(String args[])
{
A a=new A(2,5,8);
A b=new A(2,5,8);
A c=new A(5,8,2);
}
}
输出结果如下:
true
false
true
true
31、
class B
{
void meth(int i)
{"Int:"+i);}
void meth(double i)
{"Double:"+i);}
}
class Exer3_2
{
public static void main(String args[])
{
int i=8;
double d=;
short s=10;
float f=;
byte b=9;
char c='a';
B ob=newB();
(i);
(d);
(s);
((int)f);
(b);
(c);
}
}
输出结果如下:
Int:8
Double:
Int:10
Int:5
Int:9
Int:97
32、
class C
{
int c;
C(int a)
{
c=0;
for(int i=0;i<=a;i++)
c+=i;
}
C(Cb)
{c=;}
}
class Exer3_3
{
public static void main(String args[])
{
C c1=new C(6);
C c2=new C(new C(4));
"c1:"+;
"c2"+;
}
}
输出结果如下:
c1:21
c2:10
33、
class D
{
static int d=100;
static int meth()
{
int s=d*10;
return(s);
}
D(int i)
{d=i;}
}
class Exer3_4
{
public static void main(String args[])
{
":"+;
D dd=new D(10);
"d:"+;
"dd:"+;
":"+());
":"+());
"d:"+;
=500;
":"+());
}
}
输出结果如下:
:100
d:10
dd:10
:100
:100
d:10
:5000
34、
class E
{
double h,w;
void show()
{"width="+w+",height="+h);}
}
class T extends E
{
double area()
{return w*h;}
}
class Exer3_5
{
public static void main(String args[])
{
T t1=new T();
T t2=new T();
=;
=;
=;
=;
();
"t1:area="+());
();
"t2:area="+());
}
}
输出
Width= , height=
t1:area=
width=,height=
t2:area=
35、
class A
{
A()
{"class A");}
}
class B extends A
{
int b;
B(int i)
(b=i);
}
class C extends B
{
private int c;
C(int i,int j)
{
super(j);
c=i;
}
int return c()
{return c;}
}
class Exer3_6
{
public static void main(String args[])
{
C c=new C(5,18);
"c:"+* c());
}
}
输出结果如下:
class A
c:90
36、
class A
{
void show()
{"class A");}
}
class B extends A
{
void show()
{"class B");}
}
class C extends B
{
void show()
{"class C");}
}
class Exer3_7
{
public static void main(String argsp[])
{
A a=new A();
B b=new B();
C c=new C();
A x=new A();
x=a;
();
x=b;
();
x=c;
();
}
}
输出结果如下:
class A
class B
class C
37、
abstract class Shap
{
private double w,h;
Shap(double i)
{w=h=i;}
Shap(double i,double j)
{w=i,h=j;}
Shap(Shap s)
{
w=;
h=;
}
double getw()
{return w;}
double geth()
{return h;}
abstract double area();
}
class Rest extends Shap
{
Rect(double i)
{super(i);}
Rect(double i,double j)
{super(i,j);}
Rect(Rect r)
{super(r);}
double area()
{return getw()*geth();}
}
class Exer3_8
{
public static void main(String args[])
{
Shap s[]=new Shap[3];
s[0]=new Rect;
s[1]=new Rect,;
s[2]=new Rect(new Rect,);
for(int i=0;i<;i++)
"s["+i+"]area="+s[i].area());
}
}
输出结果如下:
s[0]area=
s[1]area=
s[2]area=
38、( 在子目录 address 下 )
package address;
public class addre
{
private String s1,s2,s3;
public addre(String str1,String str2,String str3)
{
s1=str1;
s2=str2;
s3=str3;
}
public void show()
{
"\t"+s2);
"\t"+s3);
}
}
import address.*;
class Exer3_9
{
public static void main(String args[])
{
addre s[]=new addre[2];
s[0]=new addre("PKU","building 44","room 109");
s[1]=new addre("PKU","building 54","room 209");
for(int i=0;i<;i++)
s[i].show();
}
}
输出结果如下:
s[0]area=
s[1]area=
s[2]area=
39、( 在子目录 address 下 )
package address;
public class addre
{
private String s1,s2,s3;
public addre(String str1,String str2,String str3)
{
s1=str1;
s2=str2;
s3=str3;
}
public void show()
{
"\t"+s2);
"\t"+s3);
}
}
import address.*;
class Exer3_9
{
public static void main(String args[])
{
addre s[]=new addre[2];
s[0]=new addre("PKU","building 44","room 109");
s[1]=new addre("PKU","building 54","room 209");
for(int i=0;i<;i++)
s[i].show();
}
}
输出结果如下:
PKU building 44 room 109
PKU building 54 room 209
40、
interface Series
{
int getVal();
}
class R1 implements Series
{
int val;
R1()
{val=0;}
public int getVal()
{
val++
return val;
}
}
class R2 implements Series
{
int val;
R2()
{val=0;}
public int getVal()
{
val+=2;
return val;
}
}
class Exer3_10
{
public static void main(String args[])
{
R1 r1=new R1();
R2 r2=new R2();
Series s;
for(int i=0;i<3;i++)
{
s=r1;
"r1:"+());
s=r2;
"r2:"+());
}
}
}
输出结果如下:
r1:1
r2:2
r1:2
r2:4
r1:3
r2:6
41、
import .*;
public class Exer4_1 extends Applet
{
String str=" 学习 JAVA小程序 ";
public void paint(Graphics g)
{
(str,100,100);
}
}
请读者自编相应的 HTML文件
运行该程序之前,编写一个 HTML文件,文件名为。程序内容如下:
<HTML>
<BODY>
<APPLET code="" width=300 height=200>
</APPLET>
</BODY>
</HTML>
运行时,先将文件使用 javac 命令编译成文件, 然后,再运行文件, 则输出显示如下信
息:
学习 JAVA小程序
42、
import .*;
public class Exer4_2 extends Applet
{
String str1,str2;
public void init()
{
str1=getParameter("name");
str2=getParameter("birthday");
if(str1==null)str1="";
if(str2==null)str2="";
}
public void paint(Graphics g)
{
(" 姓名是 "+str1+" 出生年月日是 "+str2,100,100);
}
}
文件内容如下:
<HTML>
<BODY>
<APPLET code="" width=500 height=200>
<param name="name" value=" 宋小山 ">
<param name="birthday" value="1966 年 8 月 8 日">
</APPLET>
</BODY>
</HTML>
运行该程序后,输出如下结果。
姓名是宋小山 出生年月日是 1966 年 8 月 8 日
43、
import .*;
public class Exer4_3 extends Applet
{
String str=" 您好! ";
char ch[]={'H','e','l','l','o'};
byte byt[]={97,98,99,100,101,102};
public void paint(Graphics g)
{
(byt,0,5,50,50);
(ch,0,3,50,70);
(str,50,90);
}
}
运行前编写一个相应的 HTML文件,运行输出结果如下:
abcde
Hel
您好
44、
import .*;
public class Exer4_4 extends Applet
{
public void paint(Graphics g)
{
for(int i=0;i<6;i++)
drawGraphics(i,g);
}
public void drawGraphics(int n,Graphics g)
{
(10,10,300,300);
switch(n)
{
case 0:case 3:
;
(50,50,150,150);
break;
case 1:case 4:
;
(40,40,160,160);
break;
case 2:case5:
;
(50,50,200,200);
break;
}
try{
(1500);
}
catch(InterruptedException e)
{(0);}
}
}
运行该程序前编写相应的 HTML文件,运行后在屏幕上显示变化的图形:先显示红色的正方形,再显示蓝色圆,最后显示用绿色填充的方块,并且重复一遍。
45、编写 Applet 程序,在指定大小的屏幕界面上使用不同颜色绘制如下图形:
(1)直径为 100 像素点的圆;
(2)两个半轴长分别为 50 像素点和 100 像素点的椭圆;
(3)长和宽都为 150 像素点的矩形;
(4)使用红色填充( 3)中的矩形;
(5)大小由读者指定的填充圆弧。
编写的 Java 小程序名为,程序内容如下:
import .*;
public class pro4_1 extends Applet
{
public void paint(Graphics g)
{
(10,10,300,300);
;
(40,40,100,100);
;
(160,40,50,100);
;
(50,150,150,150);
;
(50,150,150,150);
;
(220,50,180,125,30,120);
}
}
相应的 HTML文件内容如下:
<HTML>
<BODY>
<APPLET code="" width=500 height=500>
</APPLET>
</BODY>
</HTML>
46、编写 Applet 程序,选择 3 种不同的字体写出字符串“ I Love Beijing !”。
编写的 Applet 小程序文件名为 , 程序内容如下:
import .*;
public class pro4_2 extends Applet
{
Font fnt1=new Font("Serif",,25);
Font fnt2=new Font("Monospaced",,40);
Font fnt3=new Font("Helvetica",,40);
public void paint(Graphics g)
{
String str="I Love Beijing!";
(fnt1);
;
(str,30,40);
(fnt2);
;
(str,30,80);
(fnt3);
;
(str,30,120);
}
}
47、编写 Applet 程序,在一个椭圆内填写一个字符串。椭圆大小和位置以及字符串内容和
字体都由读者自定。
编写的 Applet 小程序的文件名为 , 程序内容如下:
import .*;
public class pro4_3 extends Applet
{
public void paint(Graphics g)
{
int x0=30,y0=35,W=300,H=100;
;
(x0,y0,W,H);
;
(new Font("Helvetica",,45));
(" 北京,您好! ",50,100);
}
}
48、编程题
2-5 使用 Java Applet 编写满足下列要求的程序:
(1)含有两个按钮和两个标签;
(2)含有文本框和文本区;
(3)含有一个按钮具有退出功能;
编写程序如下:
import .*;
import pro5_1 extends WindowAdapter implication ActionListener
{
Frame f;
Label la1,la2;
Button b1,b2;
TextField tf;
int tag=0;
public static void main(String args[])
{
pro5_1 mywin=new pro5_1();
();
}
public void display()
{
f=new Frame(" 我的现实窗口 ");
la1=new Label(" 标签 1");
la2=new Label(" 标签 2");
(la1,"North");
(la2,"West");
b1=new Button(" 现实字符串 ");
b2=new Button(" 退出 ");
(this);
(b1,"South");
(this);
(b2,"East");
tf=new TextField();
(tf,"Center");
(this);
(400,200);
(true);
}
public void actionPerformed(ActionEvent e)
{
String s1=" 这是一个字符串 ";
String s2=" 这是另一个字符串 ";
if().equals(" 退出 "))
(0);
if(tag==0)
{
(s1);
tag=1;
}
else
{
(s2);
tag=0;
}
}
public void windowClosing(WindowEvent e)
{
(0);
}
}
49、
50、
51、
52、
53、
54、
55、
56、 26以下 fact 方法的功能是求 n 的阶乘 .
static long fact(int n){
int i; long ;______
for(i=1; ;i++)______
f= ;
return f;______
}
57、27以下程序读取键盘输入,当按下回车时 . 将输入的内容显示在屏幕上。
import java.io.*;
public class Test27 {
public static void main(string []args){
try{
InputStreamReader dis=new InputStreamReader(System in);
BufferedReader reader= ; ______
String s;
while ((s==Reader. )!=null){_________
System.out.printIn(s);
}
Reader. ;_________
}catch (IOException e){
System.out.printIn(e)
}
}
}
58、28. 以下 paintComponent 方法利用 Graphics2D 绘制一个左上角坐标是 (10,30) ,边长为
50 的红色正方形。
public void paintComponent(Graphics g){
Graphics2D g2d= ;
g2d setColor(Color.red);
Rectangle2Drec ,new Rectangle2D.Double( );
;
}
59、
60、
61、
62、
63、选择一种上机环境,参照实例,编写一个输出 “hello world !”字样的 Java 程序。
答:选择 SUN 的 IDE,用 UltraEdit-32 编写如下:
//HelloWorld.java
/**
*<p> 这是第一个程序 </p>
*@author 饶林
*@see www.wddx.cn
*/
class HelloWorld{
public static void main(String[] args) {
System.out.println( "Hello World!" );
}
}
64、编写输入正实数 x,求平方不超过 x 的最大正整数 n,并输出。
解析:
/**
*<p> 这是第三个程序 </p>
*@author 饶林
*@see www.wddx.cn
*/
import java.util.*;
public class Praxis 2_7
{
public static void main(String[]args)
{
Scanner consoleScanner = new Scanner( System.in );
System.out.print(" 请输入正实数 X:" );
int x = consoleScanner.nextInt();
int y=(int)(Math.sqrt(x));
System.out.println("n = "+y);
}
}
65、
答 :
66、
答 :
67、
答 :
68、
答 :
69、32阅读下列程序,请写出该程序的输出结果。
答 :
70、33.阅读下列程序,请写出调用 Test33(4) 的输出结果
答 :
71、34.阅读下列程序,请回答下面的问题:
(1) 该程序的功能是什么 ?
(2) 文本框中能显示的最小值和最大值分别是多少 ?
答 :
72、35阅读下列程序,请写出该程序的功能。
答 :
73、36. 阅读下列程序,请写出该程序的功能。
答 :
74、37.编写方法 double sumS(int n) ,已知参数 n,求以下表达式前 n 项的和 S返回。
注:下一项的分母 =上一项的分子,下一项的分子 =上一项的分子与分母的和。
答 :
75、
答 :
76、
答 :
77、22. 简述在类的方法的定义之前,分别使用修饰字 final 与 abstract 的作用是什么
答 :
78、23.请写出将文本区对象 ta 放置于滚动面板 jsp ,并将 jsp 添加到当前框架窗口的内容面板中的 Java 语句。
答 :
79、24. 已知 Graphics 对象 g,获得 Graphics2D 对象 g2d,然后创建并画出正方形对象 rec ,正方形的左上角坐标是 (40 ,50) ,边长是 70。请写出实现以上要求的代码。
答 :
80、25. 简述字符流数据与字节流数据的区别。
答 :
81、26. 简述在编写 Java 网络应用程序时,应用 URLConnection 对象的作用。
答 :
82、方法 void Fibonacci(int m) 的功能是输出 Fibonacci 数列,直到大于 m为止。
注: Fibonacci 数列的前两个数都是 1,从第三个数开始,数列的每个数是其前面两个数之和。
答 :
83、以下定义的类 MyPanel 是一个面板的子类,它熊响应鼠标点击事件,当鼠标在面板的某个位置被点击时,就在该位置显示一个圆,限制最多显示最新的 m个圆,值 m由创建该面板对象时指定。
答 :
84、以下是实现一组单选按钮数组 rb 选择事件的接口方法,该方法将用户的选择条目存于类变量 anser 中。
答 :
85、类 ShareData 提供一个方法 modiData() 供修改共享数据的线程调用,该方法限制时共享数据的修改不能小于 0,在共享数据修改结束后,应通知其它发生等待的线程结束等待。以下是该类的代码。
答 :
86、31 . 方 法readFile(String sFile ,JTextArea ta) 的功能是输入文件 sFile 的内容在文本区 ta 中显示,该方法采用缓冲式输入的方法,读出和显示一行内容。当方法正确完成指定的功能时,返回 0;当指定的输入文件不存在时,返回 l ;当读文件发生输入错误时,返回 2。
答 :
87、32.阅读下列程序,请写出该程序的输出结果。
答 :
88、
答 :
89、阅读下列程序,请用示意图画出程序运行时呈现的界面。
答 :
90、
答 :
91、36.阅读下列程序,请回答以下问题:
(1) 程序运行时,在屏幕上能看到什么 ?
(2) 程序采用什么方法让屏幕呈现动态效果 ?
答 :
92、请编写方法 int revInt(int a) ,该方法的功能是返回与十进制正整数 a 的数字顺序相反排列的正整数。如已知正整数是 l234 ,方法的返回值是 4321。
答 :
93、某程序的界面有一个按钮 b、一个文本区 tA 和一个文本框 tF。程序运行时,在文本区 tA 中输入数列,单击按钮 b,则在文本框 tF 中显示该数列中的最大值。
注:以下是要求你编写的 actionPerformed(ActionEvent e) 方法的部分代码。
答 :
94、 编写方法 int[]delete(int[]a) ,方法将数组 a 中除了下标为偶数、回时其值也为偶数的元素外,其余的全都删除,剩余元素形成一个新数组 b 并返回
答 :
95、
答 :
96、
答 :
97、
答 :
98、
答 :
99、
答 :
100、
答 :
101、
答 :
102、
答 :
103、编写方法 int[][]transpose(int[][]a) ,方法将生成并返回一个新数组 b,该数组为 a 的转置数组。
注:数组转置指的是将数组的行、列内容互换。
答 :
104、
答 :
105、
答 :
106、
答 :
107、
答 :
108、
答 :
109、
答 :
110、
答 :
111、
答 :
112、
答 :
113、
答 :
114、33 阅读下列程序,请回答以下问题:
(1) 界面中有哪些组件 ?
(2) 点击每一个按钮分别会显示什么内容 ?
答 :
115、
答 :
116、 35阅读下列程序,请回答以下问题:
(1) 该程序中的类 MyPanel 的成员变量 twoClick 的作用是什么,该成员变量的值是如何改变的 ?
(2) 程序运行时,用户在界面的不同位置,用鼠标点击两次,界面中会出现什么 ?
答 :
117、
答 :
118、37. 编写方法 int[] delete(int []a ,int d) ,方法将创建一个新数组 b,新数组 b 中只包含原数组中所有值不
等于 d 的元素,并返回该新数组 b。
答 :
119、38. 以下程序的界面有一个按钮 ave、一个文本区 text 和一个标签 label 。程序运行时,在文本区中输入数字序列,单击 ave 按钮,则在标签 label 中显示这个数字序列中正实数的平均值。
注:这里是给定程序的部分代码,你要编写的是 actionPerformed(ActionEvent e) 方法。
答 :
120、
答 :
121、
答 :
122、
答 :
123、
答 :
124、
答 :
125、
答 :
126、
答 :
127、
答 :
128、32. 阅读下列程序,请写出该程序的输出结果。
答 :
129、
答 :
130、
答 :
131、
答 :
132、
答 :
133、
答 :
134、
135、
136、阅读下列程序,请写出该程序的输出的结果
答 :
137、
138、
139、
答 :
140、
141、
142、
143、
144、
145、
146、
147、
148、
149、
150、
151、
152、
153、
154、
155、
156、
157、
158、
159、
1-20 Java程序中出现的输出方法 println() 和 print() 是完全一致的。 (错)
分析程序的输出结果题
1-1 程序 Exerl_1.java
import java.io.*;
public class Exerl_1
{
public static void main (String args[ ])
{
System.out.print("This is a ");
System.out.println("strint.")
}
}
该程序的输出结果如下:
This is a string.
160、
1-2 程序 Exerl_2.java
Import java.io.*;
Public class Exerl_2
{
Public static void mian(String args[ ])
{
Char ch=" ";
System.out.println("Input a character:");
Try{
ch=(char)System.in.read();
}
Catch(IOException e)
{ }
System.out.println("The character is \'"+ch+"\'");
}
}
该程序的输出结果如下
Input a character:k↙
161、
1-4 程序 Exerl_4.java
import java.io.*
public class Exerl_4
{
public static void main(String args[ ])
{
A a=new A;
a.i=8;
a.d=1.25;
a.meth("该程序输出结果如下所示 ");
System.out.println("\ti="+a.i+",d="+a.d);
}
}
class A
{
int i;
double d;
void meth(string str)
{
System.out.println(str);
}
}
该程序输出结果如下所示
i=8,d=1.25
162、
163、1-2 编写一个 Java Application 程序,使该程序输出显示如下结果:
Var1=10,var2=19.5
Ok!
参考程序内容如下:
答 :
import java.io.*;
public class prol_2
{
public static void main(String args[ ])
{
int var1=10;
double var2=19.5;
System.out.println("var1="+var1+",var2="+var2);
System.out.println("ok!");
}
}
164、
165、
166、
2-1 Exer2_1.java 程序
public class Exer2_1
{
public static void main(String args[])
{
int i=3;
char c='p';
float f=3.5f;
double d=32.56;
short s=25;
booleab=true;
string st="new";
System.out.println("i+s="+(i+s));
System.out.println("d+f="=(d+f));
System.out.println("st+\"year\"="+st+"year");
System.out.println("!b||b="+(!b||b));
System.out.println("b?i:d="+(b?i:d));
}
}
输出结果如下:
i+s=28
d+f=36.06
st+“year”=new year
c+2=r
!b||b=true
b?i:d=3.0
167、
Exer2_2.java 程序
public class Exer2_2
{
public static void main(String args[])
{
int suma=0,sumb=0;
for(int a=0,b=0;a<5;a++,b++)
{
suma+=a;
sumb+=b;
}
System.out.println("suma="+suma+",sumb="+sumb)
}
}
输出结果如下:
suma=10,sumb=60
168、Exer2_3.java 程序
public class Exer2_3
{
public static void main(String args[])
{
int i,j;
First_Loop:
for(i=1;i<50;i++)
{
for(j=2;j<i;j++)
if(i%j)==0
continue First_Loop;
System.out.println(i);
}
}
}
输出结果如下:
1
2
3
5
7
11
13
17
19
23
29
31
37
41
43
47
169、Exer2_4.java 程序
public class Exer2_4
{
public static void main(String args[])
{
char ch='B';
switch(ch)
{
case'A':System.out.println("5"):break;
case'B':System.out.println("4"):break;
case'C':System.out.println("3"):break;
default:System.out.println("0");
}
}
}
输出结果如下:
4
170、Exer2_5.java 程序
public class Exer2_5
{
public static void main(String args[])
{
int a=3,b=5;
if(a==3)
if(b==1)
a++;
else
b++;
System.out.println(a+","+b);
int x=1,y=4;
if(x==2)
{
if(y==4)
x++;
}
else
y++;
System.out.println(x+","+y);
}
}
输出结果如下:
3,5
1,5
171、
Exer2_6.java 程序
public class Exer2_6
{
public static void main(String args[])
{
int i;
for(i=1;i<10;i++)
{
if(i>2)
System.out.println("AB");
else
System.out.println("BA");
if(i==5)
break;
}
System.out.println("i="+i);
}
}
输出结果如下:
BA
BA
AB
AB
AB
i=5
172、Exer2_7.java 程序
public class Exer2_7
{
public static void main(String args[])
{
long j1=1,j2=1;
for(int i=5;i>=1;i--)
j1*=i;
for(int i=4;i>=1;i--)
j2*=i;
System.out.println("5!+4!"+(j1+j2));
}
}
输出结果如下:
5!
4!=144
173、Exer2_8.java 程序
public class Exer2_8
{
public static void main(String args[])
{
String s1="";
char ch[]={'4','5','6','7','8'};
double d[];
d=new double[5];
d[0]=1.2f;d[1]=2.3f;d[2]=3.4f;d[3]=4.5f;d[4]=5.6f;
String s2[]={"ab","cd","ef"};
int[]a[]={{1,2,3},{4,5,6},{7,8,9}};
System.out.println("s1="+s1);
for(ing i=0;i<5;i++)
System.out.print(ch[i]+",");
System.out.println();
for(i=0;i<5;i++)
d[0]+=d[i];
System.out.println("d[0]="+d[0]);
System.out.println(s2[0]+";"+s2[1]+";"+s2[2]);
for(i=0;i<3;i++)
{
System.out.println();
for(int j=0;j<3;j++)
System.out.print(a[i][j])+" ";
}
}
}
输出结果如下:
s1=
4,5,6.7.8
d[0]=18.3716
ab;cd;ef
1 2 3
4 5 6
7 8 9
174、Exer2_9.java 程序运行时命令行带有参数。运行格式如下:
C:\Exer2_9 51 100↙
程序 Exer2_9.java 内容如下:
public class Exer2_8
{
public static void main(String args[])
{
int sum=0;
ing i=Integer.parseInt(args[0]);
int n=Integer.parseInt(args[1]);
for(;i<=n;i++)
sum=+=i;
System.out.println("sum="+sum);
}
}
输出结果如下
sum=3775
175、 Exer2_10.java 程序
public class Exer2_8
{
public static void main(String args[])
{
A:
for(int i=0;i<5;i++)
{
for(ing j=0;j<8;j++)
{
System.out.print("*");
System.out.println();
continue A;
}
}
}
}
输出结果如下:
*
*
*
*
*
176、
按下列要求写出 Java语言的语句。
(1) 定义一个 double 型变量 d,并赋初值为 2.5。
该语句如下:
Double d=2.5;
(2) 在屏幕上输出显示( 1)中所定义的变量 d 的值。
该语句如下:
System.out.println(“d=”+d);
(3) 定义一个字符型一维数组 ch 它的大小为 10。
该语句如下:
char ch[]=new char[10];
(4) 定义一个字符串常量 s1,其字符串为 “abc”
String s1=“abc”;
(5) 定义一个 boolean 型变量 b,赋初值为 true。
boolean b=true
(6) 在屏幕上输出显示 26 个大写字母。
实现该功能的程序段如下:
for(char ch=‘a’;ch<=‘z’;ch++)
System.out.print(ch)
System.out.println();
(7) 将代数式 s=a
2 +2ab+b 2
写成一个赋值表达式语句。
该语句如下:
s=aa+2ab+bb
(8) a,b 和 c 是 3 个 int 型变量, 用条件表达式写出 a>b 时,c 值为 a,否则 c 值为 b。
int a,b,c;
┊
if(a>b)
c=a;
else
c=b;
(9) 用 for 循环语句实现下述循环:循环变量 m 为 100,每次 m 循环减 10;当 m
等于 50 时退出循环,循环体为空语句。
for(int m=100;m==50;m-=10)
{ }
(10) 使用带标号名的 break 语句,在双重 for 循环自勉结构中,一次从内层循环跳
出外层循环。
该功能程序段如下:
┊
F:for(ing i= ⋯)
{
┊
for(ing j= ⋯)
{
┊
break F;
}
┊
}
┊
177、 编程求出一个一维 int 型数组的元素最大值、最小值、平均值和所有元素之和。
程序内容如下:
import java.io.*;
public class pro2_1
{
public static void main(String args[])
{
int a[]={23,76,45,21,63,90,46,83};
int max,min,sum;
max=min=a[0];
for(int i=1;i<8;i++)
if(max<a[i])
max=a[i];
for(int i=1;i<8;i++)
if(min>a[i])
min=a[i];
for(int i=1;i<8;i++)
sum+=a[i];
System.out.println("max="+max+",min="+min+",ave="+sum/8+",sum="+su
m);
}
}
运行该程序后,输出结果如下:
Max=90,min=21,ave=53,sum=424
178、
179、编程求出自然数 101~205 中的所有素数。
程序内容如下
import java.io.*;
public class pro2_4
{
public static void main(String args[])
{
int n=0;
boolean prime=false;
for(int i=101;i<=205;i+=2)
{
prime=true;
for(int j=2;j<i;j++)
if(j%j==0)
{
prime=false;
break;
}
if(prime)
{
System.out.print(i+" ");
n++;
}
if(n%8==0)
System.out.println();
}
}
}
180、编程将一个浮点型数的整数部分和小数分别输出显示。
import java.io.*;
public class pro2_2
{
public static void main(String args[])
{
double d=23.56dl;
d1=d;
int n=0;
while(true)
{
d--;
if(d<0)
break;
n++
}
System.out.println("integer="+n+",decimal="+(d1-n));
}
}
运行该程序后,输出结果请读者自己分析
181、编程求出自然数 101~205 中的所有素数。
程序内容如下
import java.io.*;
public class pro2_4
{
public static void main(String args[])
{
int n=0;
boolean prime=false;
for(int i=101;i<=205;i+=2)
{
prime=true;
for(int j=2;j<i;j++)
if(j%j==0)
{
prime=false;
break;
}
if(prime)
{
System.out.print(i+" ");
n++;
}
if(n%8==0)
System.out.println();
}
}
}
182、使用 switch 语句根据考试成绩等级输出百分制的分数段。规定如下:
A. 85~100
B. 70~84
C. 60~69
D. <60
假定 85~100 分为 A,70~84 为 B,60~69 分为 C,<60 分为 D。
程序内容如下:
import java.io.*;
public class pro2_5
{
public static void main(String args[])
{
int a=Interger.valueOf(args[0].intValue());
int n=a/5;
if(a<60)
n=11;
switch(n)
{
case 20:case 19:case 18:case 17:
System.out.println("A");break;
case 16:case 15:case 14:
System.out.println("B");break;
case 13:case 12:
System.out.println("C");break;
case 11:
System.out.println("D");
}
}
}
输入的分数是通过命令行参数来实现的。假定命令参数为 73 时,运行该程序输出
结果如下:
B
183、
百鸡百钱问题。公鸡每只 3 无,母鸡每只 5 无,小鸡 3 只一元,用 100 元买 100
只鸡,公鸡、母鸡、小鸡应各买多少?
程序内容如下:
import java.io.*;
public class pro2_6
{
public static void main(String args[])
{
for(int a=1;a<34;a++)
for(int b=1;b<21;b++)
if(3*a+5*b+(100-a-b)/3==100 && (100-a-b)%3==0)
System.out.println(" 公鸡 ="+a+" ,母鸡 ="+b+" ,小鸡 ="+(100-a-b));
}
}
运行该程序后输出结果如下:
公鸡 =4,母鸡 =12,小鸡 =84
公鸡 =11,母鸡 =8,小鸡 =81
公鸡 =18,母鸡 =4,小鸡 =78
184、
import java.io.*;
public class pro2_7
{
public static void main(String args[])
{
for(int i=1;i<i+9;i++)
{
for(int j=1;j<i+9;j++)
if(j<=9-i)
System.out.print(" ")
else
System.out.print("*");
System.out.println();
}
}
}
185、Exer3_1.java
class A
{
int x,y,z,sum;
A(int i,int j,int k)
{
x=i;
y=j;
z=k;
sum=x+y+z;
}
boolean sameA(A al)
{
if((al.x==x)&(al.y==y)&(al.z==z))
return true;
else
return false;
}
boolean sameS(A al)
{
if(al.sum==sum)
return true;
else
return false;
}
}
class Exer3_1
{
public static void main(String args[])
{
A a=new A(2,5,8);
A b=new A(2,5,8);
A c=new A(5,8,2);
System.out.println(a,sameA(b));
System.out.println(a,sameA(c));
System.out.println(a,sameA(b));
System.out.println(a,sameA(c));
}
}
输出结果如下:
true
false
true
true
186、Exer3_2.java
class B
{
void meth(int i)
{System.out.println("Int:"+i);}
void meth(double i)
{System.out.println("Double:"+i);}
}
class Exer3_2
{
public static void main(String args[])
{
int i=8;
double d=6.8;
short s=10;
float f=5.3f;
byte b=9;
char c='a';
B ob=newB();
ob.meth(i);
ob.meth(d);
ob.meth(s);
ob.meth((int)f);
ob.meth(b);
ob.meth(c);
}
}
输出结果如下:
Int:8
Double: 6.8
Int:10
Int:5
Int:9
Int:97
187、Exer3_3.java
class C
{
int c;
C(int a)
{
c=0;
for(int i=0;i<=a;i++)
c+=i;
}
C(Cb)
{c=b.c;}
}
class Exer3_3
{
public static void main(String args[])
{
C c1=new C(6);
C c2=new C(new C(4));
System.out.println("c1:"+c1.c);
System.out.println("c2"+c2.c);
}
}
输出结果如下:
c1:21
c2:10
188、Exer3_4.java
class D
{
static int d=100;
static int meth()
{
int s=d*10;
return(s);
}
D(int i)
{d=i;}
}
class Exer3_4
{
public static void main(String args[])
{
System.out.println("d.meth:"+D.d);
D dd=new D(10);
System.out.println("d:"+D.d);
System.out.println("dd:"+dd.d);
System.out.println("d.meth:"+D.meth());
System.out.println("d.meth:"+dd.meth());
System.out.println("d:"+D.d);
D.d=500;
System.out.println("d.meth:"+D.meth());
}
}
输出结果如下:
d.meth:100
d:10
dd:10
d.meth:100
d.meth:100
d:10
d.meth:5000
189、Exer3_5.java
class E
{
double h,w;
void show()
{System.out.println("width="+w+",height="+h);}
}
class T extends E
{
double area()
{return w*h;}
}
class Exer3_5
{
public static void main(String args[])
{
T t1=new T();
T t2=new T();
t1.w=8.0;
t1.h=5.0;
t2.w=12.0;
t2.h=16.0;
t1.show();
System.out.println("t1:area="+t1.area());
t2.show();
System.out.println("t2:area="+t2.area());
}
}
输出结果如下:
Width= 8.0 , height=5.0
t1:area=40.0
width=12.0,height=16.0
t2:area=192.0
190、Exer3_6.java
class A
{
A()
{System.out.println("class A");}
}
class B extends A
{
int b;
B(int i)
(b=i);
}
class C extends B
{
private int c;
C(int i,int j)
{
super(j);
c=i;
}
int return c()
{return c;}
}
class Exer3_6
{
public static void main(String args[])
{
C c=new C(5,18);
System.out.println("c:"+c.b*c.return c());
}
}
输出结果如下:
class A
c:90
191、Exer3_7.java
class A
{
void show()
{System.out.println("class A");}
}
class B extends A
{
void show()
{System.out.println("class B");}
}
class C extends B
{
void show()
{System.out.println("class C");}
}
class Exer3_7
{
public static void main(String argsp[])
{
A a=new A();
B b=new B();
C c=new C();
A x=new A();
x=a;
x.show();
x=b;
x.show();
x=c;
x.show();
}
}
输出结果如下:
class A
class B
class C
191、Exer3_8.java
abstract class Shap
{
private double w,h;
Shap(double i)
{w=h=i;}
Shap(double i,double j)
{w=i,h=j;}
Shap(Shap s)
{
w=s.w;
h=s.h;
}
double getw()
{return w;}
double geth()
{return h;}
abstract double area();
}
class Rest extends Shap
{
Rect(double i)
{super(i);}
Rect(double i,double j)
{super(i,j);}
Rect(Rect r)
{super(r);}
double area()
{return getw()*geth();}
}
class Exer3_8
{
public static void main(String args[])
{
Shap s[]=new Shap[3];
s[0]=new Rect(8.0);
s[1]=new Rect(5.0,6.0);
s[2]=new Rect(new Rect(12.0,4.0));
for(int i=0;i<s.length;i++)
System.out.println("s["+i+"]area="+s[i].area());
}
}
输出结果如下:
s[0]area=64.0
s[1]area=30.0
s[2]area=48.0
192、addre.java(在子目录 address下)
package address;
public class addre
{
private String s1,s2,s3;
public addre(String str1,String str2,String str3)
{
s1=str1;
s2=str2;
s3=str3;
}
public void show()
{
System.out.print(s1);
System.out.print("\t"+s2);
System.out.println("\t"+s3);
}
}
Exer3_9.java
import address.*;
class Exer3_9
{
public static void main(String args[])
{
addre s[]=new addre[2];
s[0]=new addre("PKU","building 44","room 109");
s[1]=new addre("PKU","building 54","room 209");
for(int i=0;i<s.length;i++)
s[i].show();
}
}
输出结果如下:
PKU building 44 room 109
PKU building 54 room 209
193、Exer3_10.java
interface Series
{
int getVal();
}
class R1 implements Series
{
int val;
R1()
{val=0;}
public int getVal()
{
val++
return val;
}
}
class R2 implements Series
{
int val;
R2()
{val=0;}
public int getVal()
{
val+=2;
return val;
}
}
class Exer3_10
{
public static void main(String args[])
{
R1 r1=new R1();
R2 r2=new R2();
Series s;
for(int i=0;i<3;i++)
{
s=r1;
System.out.println("r1:"+s.getVal());
s=r2;
System.out.println("r2:"+s.getVal());
}
}
}
输出结果如下:
r1:1
r2:2
r1:2
r2:4
r1:3
r2:6
194、4-1 Exer4_1.java
import java.applet.Applet;
import java.awt.*;
public class Exer4_1 extends Applet
{
String str=" 学习 JAVA 小程序 ";
public void paint(Graphics g)
{
g.drawString(str,100,100);
}
}
请读者自编相应的 HTML 文件
运行该程序之前,编写一个 HTML 文件,文件名为 Exer4_1.html 。程序内容如下:
<HTML>
<BODY>
<APPLET code="Exer4_1.class" width=300 height=200>
</APPLET>
</BODY>
</HTML>
运行时,先将 Exer4_1.java 文件使用 javac 命令编译成 Exer4_1.class 文件,然后,再运
行 Exer4_1.html 文件,则输出显示如下信息:
学习 JAVA 小程序
4-2 Exer4_2.java
import java.applet.Applet;
import java.awt.*;
public class Exer4_2 extends Applet
{
String str1,str2;
public void init()
{
str1=getParameter("name");
str2=getParameter("birthday");
if(str1==null)str1="";
if(str2==null)str2="";
}
public void paint(Graphics g)
{
g.drawString(" 姓名是 "+str1+" 出生年月日是 "+str2,100,100);
}
}
Exer4_2.html 文件内容如下:
<HTML>
<BODY>
<APPLET code="Exer4_2.class" width=500 height=200>
<param name="name" value=" 宋小山 ">
<param name="birthday" value="1966 年 8 月 8 日">
</APPLET>
</BODY>
</HTML>
运行该程序后,输出如下结果。
姓名是宋小山 出生年月日是 1966 年 8 月 8 日
4-3 Exer4_3.java
import java.applet.Applet;
import java.awt.*;
public class Exer4_3 extends Applet
{
String str=" 您好! ";
char ch[]={'H','e','l','l','o'};
byte byt[]={97,98,99,100,101,102};
public void paint(Graphics g)
{
g.drawBytes(byt,0,5,50,50);
g.drawChars(ch,0,3,50,70);
g.drawString(str,50,90);
}
}
运行前编写一个相应的 HTML 文件,运行输出结果如下:
abcde
Hel
您好!
4-4 Exer4_4.java
import java.applet.Applet;
import java.awt.*;
public class Exer4_4 extends Applet
{
public void paint(Graphics g)
{
for(int i=0;i<6;i++)
drawGraphics(i,g);
}
public void drawGraphics(int n,Graphics g)
{
g.clearRect(10,10,300,300);
switch(n)
{
case 0:case 3:
g.setColor(Color.red);
g.drawRect(50,50,150,150);
break;
case 1:case 4:
g.setColor(Color.blue);
g.drawOval(40,40,160,160);
break;
case 2:case5:
g.setColor(Color.green);
g.fillRect(50,50,200,200);
break;
}
try{
Thread.sleep(1500);
}
catch(InterruptedException e)
{System.exit(0);}
}
}
运行该程序前编写相应的 HTML 文件,运行后在屏幕上显示变化的图形:先显示红色的正
方形,再显示蓝色圆,最后显示用绿色填充的方块,并且重复一遍。
195、编程题
4-1 编写 Applet 程序,在指定大小的屏幕界面上使用不同颜色绘制如下图形:
(1)直径为 100 像素点的圆;
(2)两个半轴长分别为 50 像素点和 100 像素点的椭圆;
(3)长和宽都为 150 像素点的矩形;
(4)使用红色填充( 3)中的矩形;
(5)大小由读者指定的填充圆弧。
编写的 Java小程序名为 pro4_1.java,程序内容如下:
import java.applet.Applet;
import java.awt.*;
public class pro4_1 extends Applet
{
public void paint(Graphics g)
{
g.clearRect(10,10,300,300);
g.setColor(Color.blue);
g.drawOval(40,40,100,100);
g.setColor(Color.red);
g.drawOval(160,40,50,100);
g.setColor(Color.red);
g.clearRect(50,150,150,150);
g.setColor(Color.green);
g.fillRect(50,150,150,150);
g.setColor(Color.yellow);
g.fillArc(220,50,180,125,30,120);
}
}
相应的 HTML 文件内容如下:
<HTML>
<BODY>
<APPLET code="pro4_1.class" width=500 height=500>
</APPLET>
</BODY>
</HTML>
4-2 编写 Applet 程序,选择 3 种不同的字体写出字符串 “ I Love Beijing!”。
编写的 Applet 小程序文件名为 pro4_2.java,程序内容如下:
import java.applet.Applet;
import java.awt.*;
public class pro4_2 extends Applet
{
Font fnt1=new Font("Serif",Font.ITALIC,25);
Font fnt2=new Font("Monospaced",Font.BOLD,40);
Font fnt3=new Font("Helvetica",Font.BOLD,40);
public void paint(Graphics g)
{
String str="I Love Beijing!";
g.setFont(fnt1);
g.setColor(Color.green);
g.drawString(str,30,40);
g.setFont(fnt2);
g.setColor(Color.yellow);
g.drawString(str,30,80);
g.setFont(fnt3);
g.setColor(Color.red);
g.drawString(str,30,120);
}
}
相应的 HTML 文件读者自编。
4-3 编写 Applet 程序,在一个椭圆内填写一个字符串。椭圆大小和位置以及字符串内容和
字体都由读者自定。
编写的 Applet 小程序的文件名为 pro4_3.java,程序内容如下:
import java.applet.Applet;
import java.awt.*;
public class pro4_3 extends Applet
{
public void paint(Graphics g)
{
int x0=30,y0=35,W=300,H=100;
g.setColor(Color.green);
g.drawOval(x0,y0,W,H);
g.setColor(Color.red);
g.setFont(new Font("Helvetica",Font.BOLD,45));
g.drawString(" 北京,您好! ",50,100);
}
}
相应的 HTML 文件由读者自编。
196、Exer5_1.java
import java.applet.*;
import java.awt.*;
public class Exer5_1 extends Applet
{
private Label lab1,lab2;
public void init()
{
lab1=new Label();
lab1.setText("标签文本左对齐 ");
lab1.setAlignment(Label.LEFT);
lab2=new Label(" 标签文本右对齐 ",Label.RIGHT);
setLayout(new GridLayout(3,3));
add(lab1);add(lab2);
}
}
运行改程序后,输出结果如图 5-5 所示
197、Exer5_2.java
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class Exer5_2 extends Applet implements ActionListener,ItemListener
{
List colList;
String colName[]={" 黑色 "," 蓝色 "," 浅蓝色 ","绿色 ","红色 "," 黄色 "};
Color cols[]={Color.black,Color.blue,Color.cyan,Color.green,Color.red,Color.yellow};
int t;
public void init()
{
colList=new List(4,false);
colList.addActionListener(this);
colList.addItemListener(this);
for(int i=0;i<colName.length;i++)
colList.add(colName[i]);
add(colList);
}
public void actionPerformed(ActionEvent e)
{}
public void itemStateChanged(ItemEvent e)
{
showStatus(colList.getSelectedItem()+";index"+colList.getSelectedIndex());
t=colList.getSelectedIndex();
repaint();
}
public void paint(Graphics g)
{
g.setColor(cols[t]);
g.fillRect(15,30,20,20);
}
}
运行改程序后,输出结果如图 5-6 所示。
198、 Exer5_3.java
import java.awt.*;
import java.awt.event.*;
public class Exer5_3 extends Frame implements ActionListener
{
Frame fr;
Panel deck;
CardLayout c1;
Button but[];
String name[]={" 第一张 "," 下一张 "," 前一张 "," 最末张 "};
public Exer5_3()
{
fr=new Frame(" 卡片窗口 ");
deck=new Panel();
c1=new CardLayout();
deck.setLayout(c1);
Panel c1=new Panel();
Label lab1=new Label(" 卡片 1");
c1.add(lab1);
deck.add(c1,lab1.getText());
Panel c2=new Panel();
Label lab2=new Label(" 卡片 2");
c2.add(lab2);
deck.add(c2,lab2.getText());
Panel c3=new Panel();
Label lab3=new Label(" 卡片 3");
c3.add(lab3);
deck.add(c3,lab3.getText());
Panel c4=new Panel();
Label lab4=new Label(" 卡片 4");
c4.add(lab4);
deck.add(c4,lab4.getText());
Panel contr=new Panel();
contr.setLayout(new GridLayout(2,2));
but=new Button[name.length];
for(int i=0;i<name.length;i++)
{
but[i]=new Button(name[i]);
but[i].addActionListener(this);
contr.add(but[i]);
}
fr.add(contr,BorderLayout.WEST);
fr.add(deck,BorderLayout.EAST);
fr.setSize(300,150);
fr.show();
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==but[0])
c1.first(deck);
if(e.getSource()==but[1])
c1.next(deck);
if(e.getSource()==but[2])
c1.previous(deck);
if(e.getSource()==but[3])
c1.last(deck);
}
public static void main(String args[])
{
Exer5_3 m1=new Exer5_3();
}
}
运行该程序后,输出结果如图 5-7 所示。
199、Exer5_4.java
import java.awt.*;
public class Exer5_4 extends Frame
{
TextField tf=new TextField("",30);
MenuBar mb1=new MenuBar();
Menu f=new Menu(" 文件 ");
Menu m=new Menu(" 照片 ");
Menu s=new Menu(" 储存 ");
String name[]={" 第一张 "," 下一张 "," 前一张 "," 最末张 "};
CheckboxMenuItem[]save={new CheckboxMenuItem(" 保存 "),new CheckboxMenuItem(" 另
存为 ")};
MenuItem[] file1={new MenuItem(" 打开 "),new MenuItem(" 关闭 ")};
MenuBar mb2=new MenuBar();
Menu fo=new Menu(" 水果 ");
MenuItem[] fruit={new MenuItem(" 香蕉 "),new MenuItem(" 苹果 "),new MenuItem(" 李子
")};
Button but=new Button("Swap");
public Exer5_4()
{
for(int i=0;i<name.length;i++)
{
m.add(new MenuItem(name[i]));
if((i+1)%3==0)
m.addSeparator();
}
for(int i=0;i<save.length;i++)
s.add(save[i]);
f.add(s);
for(int i=0;i<file1.length;i++)
f.add(file1[i]);
mb1.add(f);
mb1.add(m);
setMenuBar(mb1);
tf.setEditable(false);
add("Center",tf);
add("North",but);
for(int i=0;i<fruit.length;i++)
fo.add(fruit[i]);
mb2.add(fo);
}
public boolean handleEvent(Event e)
{
if(e.id==Event.WINDOW_DESTROY)
System.exit(0);
else
return super.handleEvent(e);
return true;
}
public boolean action(Event e,Object arg)
{
if(e.target.equals(but))
{
MenuBar m=getMenuBar();
if(m==mb1)
setMenuBar(mb2);
else if(m==mb2)
setMenuBar(mb1);
}
else if(e.target instanceof MenuItem)
{
if(arg.equals(" 打开 "))
{
String str=tf.getText();
Boolean ch=false;
for(int i=0;i<name.length;i++)
if(str.equals(name[i]))
ch=true;
if(!ch)
tf.setText("你按了打开菜单 ");
else
tf.setText("打开 "+str);
}
else if(e.target.equals(file1[1]))
System.exit(0);
else if(e.target.equals(save[0]))
tf.setText("你按了保存菜单 ");
else if(e.target.equals(save[1]))
tf.setText("你按了另存为菜单 ");
else
tf.setText(arg.toString());
}
else
return super.action(e,arg);
return true;
}
public static void main(String args[])
{
Exer5_4 ex=new Exer5_4();
ex.setSize(new Dimension(200,200));
ex.setVisible(true);
}
}运行该程序后,输出结果如图 5-8 所示。
198、Exer5_5.java
import java.awt.*;
import java.awt.event.*;
class myDialogFrame extends Frame implements ActionListener
{
MenuItem aboutItem,exitItem;
aboutDialog myDialog;
public myDialogFrame()
{
setSize(300,200);
setTitle(" 我的联系窗口 ");
addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent
E){System.exit(0);}});
MenuBar mb=new MenuBar();
setMenuBar(mb);
Menu fm=new Menu(" 练习 ");
mb.add(fm);
aboutItem=new MenuItem(" 关于信息 ");
aboutItem.addActionListener(this);
fm.add(aboutItem);
exitItem=new MenuItem(" 退出 ");
exitItem.addActionListener(this);
fm.add(exitItem);
}
public void actionPerformed(ActionEvent e)
{
Object sou=e.getSource();
if(sou==aboutItem)
{
if(myDialog==null)
myDialog=new aboutDialog(this);
myDialog.show();
}
else if(sou==exitItem)
{System.exit(0);}
}
}
class aboutDialog extends Dialog
{
public aboutDialog(Frame parent)
{
super(parent,"信息框 ",true);
Panel p1=new Panel();
TextArea ta=new TextArea(10,30);
ta.setText("请写下你的信息 ");
p1.add(ta);
add("North",p1);
Panel p2=new Panel();
Button but=new Button(" 返回 ");
p2.add(but);
add("Center",p2);
but.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent
e){setVisible(false);}});
setSize(300,250);
}
}
public class Exer5_5
{
public static void main(String args[])
{
Frame fr=new myDialogFrame();
fr.show();
}
}
运行该程序后,输出结果如图 5-9 所示。
199、2-18使用 Java Applet 编写满足下列要求的程序:
(1)含有两个按钮和两个标签;
(2)含有文本框和文本区;
(3)含有一个按钮具有退出功能;
编写程序如下:
import java.awt.*;
import java.awt.event.*;
class pro5_1 extends WindowAdapter implication ActionListener
{
Frame f;
Label la1,la2;
Button b1,b2;
TextField tf;
int tag=0;
public static void main(String args[])
{
pro5_1 mywin=new pro5_1();
mywin.display();
}
public void display()
{
f=new Frame(" 我的现实窗口 ");
la1=new Label(" 标签 1");
la2=new Label(" 标签 2");
f.add(la1,"North");
f.add(la2,"West");
b1=new Button(" 现实字符串 ");
b2=new Button(" 退出 ");
b1.addActionListener(this);
f.add(b1,"South");
b2.addActionListener(this);
f.add(b2,"East");
tf=new TextField();
f.add(tf,"Center");
f.addWindowListener(this);
f.setSize(400,200);
f.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
String s1="这是一个字符串 ";
String s2="这是另一个字符串 ";
if(e.getActionCommand().equals(" 退出 "))
System.exit(0);
if(tag==0)
{
tf.setText(s1);
tag=1;
}
else
{
tf.setText(s2);
tag=0;
}
}
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
运行该程序后,输出结果如图 5-10 所示。
200、
201、
202、阅读下列程序,请回答以下问题:
(1)程序要求在文本框 text 中输入的内容是什么 ? 需要读取的文件 URL 地址
(2)辅助文本区 showArea 组件的作用是什么 ? 显示读取的文件内容
(3)如何使程序开始下载网络文本文件 ? 点击下载按钮
(4)程序采用什么输入方式下载网络文件 ? 使用字节流完成下载
import java.net.* ; import java.awt.* ;
import java.awt.event.* ; import,java.io.* ; import javax.swing.* ;
public class Class1{
public static void main(String args[]) .
{ new ConnectNet("读取网络文本文件示意程序 ");}
}
class ConnectNet extends JFrame implements ActionListener{
JTextField text=new JTextField(30) ;
JTextArea showArea=new JTextArea();
JButton b=new JButton(" 下载");JPanel p=new JPanel();
ConnectNet(String s){
super(s);Container con=this.getContentPane();
p.add(text);p.add(b);
JScrollPane jsp=new JScrollPane(showArea);
b.addActionListener(this) ;
con.add(p,"North") ; con.add(jsp,"Center") ;
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) ;
setSize(500,400);setVisible(true); }
public void actionPerformed(ActionEvent e){
String urlName=text.getText() ;
try{ URL url=new URL(urlName) ;//由网址创建 URL 对象
URLConnection tc=url.openConnection() ;//获得 URLConnection 对象
tc.connect();//设置网络连接
InputStreamReader in=new InputStreamReader(tc.getInputStream());
BufferedReader dis=new BufferedReader(in); String inLine ;
while((inLine=dis.readLine())!=null){showArea.append(inLine+" \n");}
dis.close();
}catch(MalformedURLException e2){e2.printStackTrace() ;}
catch(IOException e3){ e3.printStackTrace() ;}
}
}
203、
204、
205、
206、
207、
208、
209、
以下程序界面有一个标以 “ OK”的按钮 bt、一个文本区 ta 和一个文本框 tf。当在文本框中输入内容完毕后,点击“ OK”按钮可以使文本框内的字符串添加到文本区中,并输出文字 “因点击按钮而引发添加 ”;或者按回车键使得文本框内的字符串添加到文本区中,并输出文字 “因在文本框里回车而引发添加 ”。
注:这里是给定程序的部分代码,你要编写的是 actionPerformed(ActionEvent e) 方法。
import javax.swing.*;import java.awt.*;import java.awt.event.*;
public class Test38 extends JFrame implements ActionListener
{
JButton bt = new JButton("OK");
JTextField tf = new JTextField(20);
JTextArea ta = new JTextArea(10,20);
public Test38()
{
Container c = getContentPane();
c.setLayout(new FlowLayout()); //指定布局方式为顺序布局
c.add(ta);
c.add(bt);
c.add(tf);
bt.addActionListener(this);
tf.addActionListener(this);
setSize(400,300);
setVisible(true);
}
public void actionPerformed(ActionEvent e) //请在“答题纸’ ’上编写以下代码
{
if(e.getSource( )== bt)
{
ta.append(tf.getText( )+"( 按钮添加 )\n");
}
if(e.getSource( )== tf )
{
ta.append(tf.getText( )+"( 回车添加 )\n");
}
}
public static void main(String args[])
{
new Test38();
}
}
210、
211、
212、
213、
214、2、按以下要求编写程序
(1) 编写 Animal 接口,接口中声明 run() 方法
(2) 定义 Bird 类和 Fish 类实现 Animal 接口
(3) 编写 Bird 类和 Fish 类的测试程序,并调用其中的 run()方法
解答:
public interface Animal {
void run();
}
class Bird implements Animal {
public void run() {
System. out .println(" 鸟儿在飞 ...");
}
}
class Fish implements Animal {
public void run() {
System. out .println(" 鱼儿在游 ...");
}
}
public class TestAnimal {
public static void main(String[] args) {
Bird bird = new Bird();
bird.run();
Fish fish = new Fish();
fish.run();
}
}
215、1、按以下要求编写程序
(1) 创建一个 Rectangle类,添加 width 和 height 两个成员变量
(2) 在 Rectangle中添加两种方法分别计算矩形的周长和面积
(3) 编程利用 Rectangle输出一个矩形的周长和面积
解答:
public class Rectangle {
float width, height;
public Rectangle( float width, float height) {
this .width = width;
this .height = height;
}
public float getLength(){
return ( this .width + this .height) * 2;
}
public float getArea(){
return this .width * this .height;
}
public static void main(String [] args) {
Rectangle rect = new Rectangle(10, 20);
System. out .println(" 周长是: " + rect.getLength());
System. out .println(" 面积是: " + rect.getArea());
}
}
216、
217、
218、
219、
220、
221、
222、
223、
224、
225、
226、
227、
228、
229、
230、
231、
232、
233、
234、
235、
236、
237、
238、
239、
240、
241、
242、
243、
244、
245、