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()); } }
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(); } }
3、编写一个Frame框架应用程序,要求如下: (1) 在窗口设置两个菜单“文件”、“编辑”
(2) 在“文件”菜单里添加三个菜单项“打开”、“保存”、“关闭” (3) 在“编辑”菜单里添加两个菜单项“复制”、“粘贴” (4) 点击关闭菜单项时,使程序关闭。 解答:
import java.awt.Color; import java.awt.Frame; import java.awt.Menu; import java.awt.MenuBar; import java.awt.MenuItem;
import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; /* * 主窗体 */
public class MyFrame extends Frame {
private static final long serialVersionUID = 6635656626294L;
private Frame frmMain; MenuBar mb;
// 窗体
// 菜单栏
Menu mnuFile; Menu mnuEdit; MenuItem miOpen;
// \"文件\"菜单 // \"编辑\"菜单
// \"打开\"菜单项
MenuItem miSave; MenuItem miClose; MenuItem miCopy; MenuItem miPaste;
public MyFrame() {
// \"保存\"菜单项 // \"关闭\"菜单项 // \"复制\"菜单项 // \"粘贴\"菜单项
}
public void showFrame() {
器
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(\"粘贴\");
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 表示异常终止。 }
public class TestMyFrame { }
public static void main(String[] args) { }
// 启动主窗体
MyFrame guiWindow = new MyFrame(); guiWindow.showFrame();
}
public void actionPerformed(ActionEvent e) { }
if (e.getActionCommand() == \"miClose_Clicked\") { }
System.exit(0); // 退出应用程序
}
// 定义一个内部类,在这个类中编写动作事件处理程序。 private class MenuHandler implements ActionListener {
}
4、编写一个输出“Hello World!”的程序。用方法实现(Application)
方法一:
public class Welcome {
public static void main (Sring agrs[]) {
System.out.println(\"Hello World !\"); } }
5、编写一个字符界面的Java Application 程序,接受用户输入的10个整数,并输出这10个整数的最大值和最小值。 参考程序如下: import java.io.*; public class abc {
public static void main(String args[ ] ) {
int i,n=10,max=0,min=0,temp=0; try{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); max=min=Integer.parseInt(br.readLine( )); }
catch(IOException e){ } for(i=2 ;i<=n;i++){ try {
BufferedReader br = new BufferedReader( new InputStreamReader(System.in)); temp = Integer.parseInt(br.readLine( )); if (temp > max ) max=temp; if (temp < min) min=temp; } catch ( IOException e ) { } }
System.out.println(\"max=\"+max+\"\\nmin=\"+min); } } 6、编写一个完整的Java Applet 程序使用复数类Complex验证两个复数 1+2i 和3+4i 相加产生一个新的复数 4+6i 。
复数类Complex必须满足如下要求: (1) 复数类Complex 的属性有:
RealPart : int型,代表复数的实数部分 ImaginPart : int型,代表复数的虚数部分 (2) 复数类Complex 的方法有:
Complex( ) : 构造函数,将复数的实部和虚部都置0
Complex( int r , int i ) : 构造函数,形参 r 为实部的初值,i为虚部的初值。
Complex complexAdd(Complex a) : 将当前复数对象与形参复数对象相加,所得的结果仍是一个复数值,返回给此方法的调用者。
String ToString( ) : 把当前复数对象的实部、虚部组合成 a+bi 的字符串形式,其中a 和 b分别为实部和虚部的数据。 参考程序如下: import java.applet.*; import java.awt.*;
public class ok extends Applet {
Complex a,b,c; public void init() {
a=new Complex(1,2); b=new Complex(4,6); c=new Complex(); }
public void paint(Graphics g) {
c=a.complexAdd(b);
g.drawString(\"第一个复数:\"+a.toString(),10,50); g.drawString(\"第二个复数:\"+b.toString(),10,70); g.drawString(\"两复数之和:\"+c.toString(),10,90);
} }
class Complex {
int RealPart,ImaginPart; Complex() {
RealPart=0; ImaginPart=0; }
Complex(int r,int i) {
RealPart=r; ImaginPart=i; }
Complex complexAdd(Complex a) {
Complex temp=new Complex();
temp.ImaginPart=ImaginPart+a.ImaginPart; temp.RealPart=RealPart+a.RealPart; return temp; }
public String toString() {
return (RealPart+\"+\"+ImaginPart+\"i\"); } }
public class Complex {
private float shibu; private float xubu; Complex() {
this(0,0); }
Complex(float shibu,float xubu) {
this.shibu=shibu; this.xubu=xubu; }
public void Add(Complex p) {
Complex result=new Complex(); result.shibu=this.shibu+p.shibu; result.xubu=this.xubu+p.xubu;
System.out.print(\"加法果为:\"+result.shibu+\"+\"+result.xubu+\"i\"); }
public static void main(String[] args) {
Complex fushu1=new Complex(1,2); Complex fushu2=new Complex(3,4); fushu1.Add(fushu2); } }
7、编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的
字符串。 但是要保证汉字不被截半个,如\"我ABC\"4,应该截为\"我AB\",输入\"我ABC汉DEF\",
public class Test10 {
public static void main(String[] args) {
String srcStr1 = \"我ABC\";
String srcStr2 = \"我ABC汉DEF\";
splitString(srcStr1, 4); splitString(srcStr2, 6); }
public static void splitString(String src, int len) { int byteNum = 0; if (null == src) {
System.out.println(\"The source String is null!\"); return; }
byteNum = src.length();
byte bt[] = src.getBytes(); // 将String转换成byte字节数组 if (len > byteNum) { len = byteNum; }
// 判断是否出现了截半,截半的话字节对于的ASC码是小于0的值 if (bt[len] < 0) {
String subStrx = new String(bt, 0, --len); System.out.println(\"subStrx==\" + subStrx); } else {
String subStrx = new String(bt, 0, len); System.out.println(\"subStrx==\" + subStrx); } } }
8、编程求解:所有两位整数能被3整除的数的和,以及不能被3整除的数的各位数字之和。 import java.util.ArrayList; public class Test {
public static void main(String[] args) { test1(); }
private static void test1() {
ArrayList for (int j = 0; j < 10; j++) { int num = i * 10 + j; if (num % 3 == 0) { list.add(num); } } } System.out.print(\"能被3整除的数是:\" + \" \"); for (int i = 0; i < list.size(); i++) { System.out.print(list.get(i) + \" \"); } System.out.println(); ArrayList for (int j = 0; j < 10; j++) { int num = i * 10 + j; if (num % 3 != 0) { list1.add(num); } } } System.out.print(\"不能被3整除的数是:\" + \" \"); for (int i = 0; i < list1.size(); i++) { System.out.print(list1.get(i) + \" \"); } } } 9、打印出所有的\"水仙花数\",所谓\"水仙花数\"是指一个三位数,其各位数字立方和等于该数本身。例如: 153是一个\"水仙花数\",因为153=1的三次方+5的三次方+3的三次方。 程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。 public class shuixianhuashu { public static void main(String[] args) { for(int i=100; i<1000; i++){ int a = i/100; int b = i/10%10; int c = i%10; if(Math.pow(a,3)+Math.pow(b,3)+Math.pow(c,3)==i) System.out.println(i+\"是水仙花数\"); } } } 10、编写一个Java Application,接收从键盘输入的10个整数,并输出其中的最大值。 要求:将计算功能定义在一个类中,由主类接收输入,再用数组的方式传递给实现计算的类的方法,再输出结果。 import java.util.Scanner; public class Test { public static void main(String args[]) { int num[]=new int[10]; int max; Scanner scan=new Scanner(System.in); System.out.print(\"请输入10个数字:\"); for(int i=0; i<10; i++) { num[i]=scan.nextInt(); } max=num[0]; for(int i=1; i<10; i++) { if(max 11、建立一个学生类,其中成员变量为学号,姓名,及三门课成绩。另外建立一个包含主方法的类,定义2个学生类的对象,求出这2个学生三门课总分的最高分,并将最高分这个学 生的信息输出。 class Student { private String stu_id; private String stu_name; private float math; private float chinese; private float computer; public void setStu_id(String stu_id) { this.stu_id=stu_id; } public String getStu_id() { return stu_id; } public void setStu_name(String stu_name) { this.stu_name=stu_name; } public String getStu_name() { return stu_name; } public void setMath(float math) { this.math=math; } public float getMath() { return math; } public void setChinese(float chinese) { this.chinese=chinese; } public float getChinese() { return chinese; } public void setComputer(float computer) { this.computer=computer; } public float getComputer() { return computer; } } public class Start { public static void main(String[] args) { Student stu1=new Student(); stu1.setStu_id(\"No1\"); stu1.setStu_name(\"张三\"); stu1.setMath(.5f); stu1.setChinese(70f); stu1.setComputer(98f); Student stu2=new Student(); stu2.setStu_id(\"No2\"); stu2.setStu_name(\"李四\"); stu2.setMath(79.5f); stu2.setChinese(90f); stu2.setComputer(68f); float stu1Sum = stu1.getMath()+stu1.getChinese()+stu1.getComputer(); float stu2Sum = stu2.getMath()+stu2.getChinese()+stu2.getComputer(); if(stu1Sum > stu2Sum) { System.out.println (\"总分最高分为:\"+stu1Sum); System.out.println (\"学号:\"+stu1.getStu_id()); System.out.println (\"姓名:\"+stu1.getStu_name()); System.out.println (\"数学:\"+stu1.getMath()); System.out.println (\"语文:\"+stu1.getChinese()); System.out.println (\"计算机:\"+stu1.getComputer()); } else if(stu1Sum < stu2Sum) { System.out.println (\"总分最高分为:\"+stu2Sum); System.out.println (\"学号:\"+stu2.getStu_id()); System.out.println (\"姓名:\"+stu2.getStu_name()); System.out.println (\"数学:\"+stu2.getMath()); System.out.println (\"语文:\"+stu2.getChinese()); System.out.println (\"计算机:\"+stu2.getComputer()); } else { System.out.println (\"总分一样高为:\"+stu1Sum); System.out.println (\"学号:\"+stu1.getStu_id()); System.out.println (\"姓名:\"+stu1.getStu_name()); System.out.println (\"数学:\"+stu1.getMath()); System.out.println (\"语文:\"+stu1.getChinese()); System.out.println (\"计算机:\"+stu1.getComputer()); System.out.println (\"学号:\"+stu2.getStu_id()); System.out.println (\"姓名:\"+stu2.getStu_name()); System.out.println (\"数学:\"+stu2.getMath()); System.out.println (\"语文:\"+stu2.getChinese()); System.out.println (\"计算机:\"+stu2.getComputer()); } } } }11、编写一个程序,使用复数类Complex验证两个复数 1+2i 和3+4i 相加产生一个新的复数 4+6i 。 复数类Complex必须满足如下要求: (1) 复数类Complex 的属性有: RealPart : int型,代表复数的实数部分 ImaginPart : int型,代表复数的虚数部分 (2) 复数类Complex 的方法有: Complex( ): 构造函数,将复数的实部和虚部都置0 Complex( int r , int i ): 构造函数,形参 r 为实部的初值,i为虚部的初值。 Complex complexAdd(Complex a): 将当前复数对象与形参复数对象相加,所得的结果仍是一个复数值,返回给此方法的调用者。 String ToString( ) : 把当前复数对象的实部、虚部组合成 a+bi 的字符串形式,其中a 和 b分别为实部和虚部的数据。 public class Complex { private float shibu; private float xubu; Complex() { this(0,0); } Complex(float shibu,float xubu) { this.shibu=shibu; this.xubu=xubu; } public void Add(Complex p) { Complex result=new Complex(); result.shibu=this.shibu+p.shibu; result.xubu=this.xubu+p.xubu; System.out.print(\"加法果为:\"+result.shibu+\"+\"+result.xubu+\"i\"); } public static void main(String[] args) { Complex fushu1=new Complex(1,2); Complex fushu2=new Complex(3,4); fushu1.Add(fushu2); } } 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- yrrf.cn 版权所有 赣ICP备2024042794号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务