您好,欢迎来到意榕旅游网。
搜索
您的当前位置:首页java编程

java编程

来源:意榕旅游网
程序设计题

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 list = new ArrayList(); for (int i = 1; i < 10; i++) {

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 list1 = new ArrayList(); for (int i = 1; i < 10; i++) {

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(maxSystem.out.println(\"最大值是:\"+ 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

本站由北京市万商天勤律师事务所王兴未律师提供法律服务