《Java程序设计》
编程题
答题要求:按采分点给分,要求代码编写有一定的规范性,完成采分点功能区代码则给分,未完成该采分点的,不给分。
1. 编写出一个程序,其中创建了数组abc,该数组的五个元素分别为“北京奥运会”五个汉字。要求程序运行后,能将五个元素显示在同一行上,并显示该数组的长度。(共10分) 编码规范2分;类和主方法的定义2分;数组的声明和赋值2分,汉字输出2分(注意:字符输出时一定要转为字符串后输出,没有转换的扣1分),数组长度输出2分。 答:
public class ShowChar{
public static void main (String[ ] args){ }
char ch[] = {'北','京','奥','运','会'};
System.out.println(\System.out.println(ch.length);
}
2. 设计一个动物类,它包含动物的基本属性。例如名称、大小、重量等,并设计相应的动作,例如跑、跳、走等。
编码规范2分;类定义2分;成员变量定义3分,成员函数定义3分。
答:public class Animal{ private String name; private double weight; private int length; privateString sex; public void run(){
System.out.println(\ }
public void jump(){
System.out.println(\ }
public void walk(){
System.out.println(\ } }
3. 定义一个环形类Ring,包含属性外半径outerRadius,内半径innerRadius,颜色,生成Get和Set方法,并定义一个方法求环形的面积getArea,定义一个含有三个参数的构造方法和一个参数为0的构造方法。
第 21 页
《Java程序设计》
编码规范2分;类的成员变量的定义3分;类的成员函数的定义5分; 答:public class Ring {
private double outerRaduis; private double innerRaduis; private String Color; public double getArea() {
return Math.PI*this.outerRaduis*this.outerRaduis- Math.PI*this.innerRaduis*this.innerRaduis; }
public Ring(double r1,double r2,String c) {
this.outerRaduis=r1; this.innerRaduis=r2; this.Color=c; }
public Ring() {
this.outerRaduis=50; this.innerRaduis=40; this.Color=\}
}
4. 设计一个三角形类,它包含三角形基本属性底和高,以及求三角形面积的方法。要求从键盘接收三角形的底和高的值,然后输出三角形的面积。(提示:可以使用键盘扫描类Scanner或命令行参数接收三角形的底和高的值)
编码规范2分;类的成员变量的定义2分;类的成员函数的定义3分;主方法的实现3分。 答:import java.util.*;
class Reta {
private double di; private double high;
public Reta(double di, double high) { this.di = di; this.high = high; }
public double area() { try {
return 0.5 * this.di * this.high; } catch (Exception e) {
第 22 页
《Java程序设计》
}
e.printStackTrace(); return 0; }
}
public class Ret{
public static void main(String[] args){ }
Scanner sc = new Scanner(System.in); double x = sc.nextDouble(); double y = sc.nextDouble(); Reta reta = new Reta(x,y); double area = reta.area() ; System.out.print(area);
}
5. 有三个字符串String s1= \ String s2= \ String s3= \,编写程序找出其中最大者。
编码规范2分;类定义2分;主方法的实现6分。 答:
public class max1 {
public static void main(String args[]) {
String s1= \ String s2= \ String s3= \ String s;
if(s1.compareTo(s2)<0) s=s2; else s=s1;
if(s.compareTo(s3)<0) s=s3;
Systrm.out.println(\ } }
6. 编写一个程序,设定一个有大小写字母的字符串String s1= \,先将字符串的大写字符输出,再将字符串中的小写字符输出。注:利用StringBuffer完成。 编码规范2分;类定义2分;主方法的实现6分。 答:
public class out {
第 23 页
《Java程序设计》
}
public static void main(String args[]) { String str=\ StringBuffer bufup=new StringBuffer(); StringBuffer buflow=new StringBuffer(); for(int i=0; i 7. 设定一个有大小写字母的字符串String s1=\和一个查找字符,使用类 String方法IndexOf() 来判断在该字符串中该字符出现的次数。 编码规范2分;类定义2分;主方法的实现6分。 答: import java.util.*; public class StringNum{ public static void main(String args[]){ Scanner input = new Scanner(System.in); System.out.println(\请输入一个字符串:\ String s1 = input.nextLine(); System.out.println(\请输入一个待查找的字符:\ String c1 = input.nextLine(); char[] cArr = c1.toCharArray(); char c = cArr[0]; int num = 0; int index; int i = 0; while(i < s1.length()){ 第 24 页 《Java程序设计》 } } index = s1.indexOf(c, i); if(index == -1){ break; }else{ i = index+1; num++; } } System.out.print(\字符\的个数为\ 8. 编写一个程序,要求: 1)在当前目录下创建目录Personal 2)将自己的学号、姓名、性别写入到目录Personal下的文件Info.txt中 3)将文件中的数据显示在屏幕上 编码规范2分;类定义2分;主方法的实现6分(其中题目要求的每个功能实现各2分)。 答: import java.io.*; import java.util.*; public class FileExercise3{ public static void main(String[] args){ //create folder String folderName = \String fileName = \File f=new File(folderName); f.mkdir(); //write file PrintWriter outputStream = null; try{ outputStream = new PrintWriter(new FileOutputStream(folderName + \ }catch(FileNotFoundException e){ System.out.println(\ System.exit(0); } outputStream.println(\学号:0921404\ outputStream.println(\姓名:安文琪\ 第 25 页 outputStream.println(\性别:男\