《java入門程序題及源碼》由會(huì)員分享,可在線閱讀,更多相關(guān)《java入門程序題及源碼(8頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、文檔供參考,可復(fù)制、編制,期待您的好評(píng)與關(guān)注!
一. 實(shí)驗(yàn)?zāi)康?
了解接口,類,抽象類之間的不同,能夠在其之間進(jìn)行繼承與實(shí)現(xiàn)
掌握文件的輸入輸出流,包括scanner類,字符流,字節(jié)流等 等的 運(yùn)用,能夠?qū)ξ募M(jìn)行基本的讀出寫入
二. 實(shí)驗(yàn)內(nèi)容
實(shí)驗(yàn)題目一: ?設(shè)計(jì)
(1)形狀接口、(2)積木塊抽象類、(3)三角形類、正方形類、圓形類和矩形類,
其中(2)實(shí)現(xiàn)了(1),(3)繼承了(2),然后編寫主函數(shù)分別定義它們的對(duì)象, 并顯示其值。
1. 程序源代碼
public class title4_1{
public static v
2、oid main(String[] args) {
Shape circle=new Circle(20),rect=new Rectangle(100,50);
Shape square=new Square(10),tri=new Triangle(10,20,25);
circle.showArea();
circle.showCircle();
rect.showArea();
rect.showCircle();
square.showArea();
square.showCircle();
tri.
3、showArea();
tri.showCircle();
}
}
//形狀接口
interface Shape{
public double getArea();//求面積
public double getCircle();//求周長(zhǎng)
public void showArea();
public void showCircle();
}
//積木塊抽象類
abstract class BuildingBlock implements Shape{
public void showA
4、rea() {
}
public void showCircle() {
}
}
//圓類
class Circle extends BuildingBlock{
private double r;
public Circle(double r){
this.r=r;
}
//求面積
public double getArea() {
return Math.PI*this.r*this.r;
}
//求周長(zhǎng)
public double getCircle() {
5、
return 2*this.r*Math.PI;
}
public void showArea() {
System.out.println("圓的半徑為:"+this.r);
System.out.println("圓面積:"+this.getArea());
}
public void showCircle() {
System.out.println("圓周長(zhǎng):"+this.getCircle());
System.out.println();
}
}
//定義長(zhǎng)方形
class Rectangle
6、 extends BuildingBlock{
private double l,w;
public Rectangle(double l,double w){
this.w=w;
this.l=l;
}
public double getArea() {
return this.w*this.l;
}
public double getCircle() {
return 2*(this.w+this.l);
}
public void showArea() {
System.out.println("長(zhǎng)方形的長(zhǎng)為:
7、"+this.l+" 寬為:"+this.w);
System.out.println("長(zhǎng)方形面積:"+this.getArea());
}
public void showCircle() {
System.out.println("長(zhǎng)方形周長(zhǎng):"+this.getCircle());
System.out.println();
}
}
//定義正方形
class Square extends BuildingBlock{
private double a;
public Square(double a){
this
8、.a=a;
}
public double getArea() {
return this.a*this.a;
}
public double getCircle() {
return 4*this.a;
}
public void showArea() {
System.out.println("正方形的邊長(zhǎng)為:"+this.a);
System.out.println("正方形面積:"+this.getArea());
}
public void showCircle() {
System.out.println
9、("正方形周長(zhǎng):"+this.getCircle());
System.out.println();
}
}
//定義三角形
class Triangle extends BuildingBlock{
private double a,b,c,q;
public Triangle(double a,double b,double c){
this.a=a;
this.b=b;
this.c=c;
this.q=(this.a+this.b+this.c)/2;
}
public double getArea() {
10、
double q=(this.a+this.b+this.c)/2;
return Math.sqrt(this.q*(this.q-this.a)*(this.q-this.b)*(this.q-this.c));
}
public double getCircle() {
return this.a+this.b+this.c;
}
public void showArea() {
System.out.println("三角形三邊長(zhǎng)為 a="+this.a+" b="+this.b+" c="+this.c);
System.
11、out.println("三角形面積:"+this.getArea());
}
public void showCircle() {
System.out.println("三角形周長(zhǎng):"+this.getCircle());
System.out.println();
}
}
2. 實(shí)驗(yàn)結(jié)果
實(shí)驗(yàn)題目二: 已經(jīng)存在一個(gè)文本文件"a.txt",請(qǐng)使用Scanner類讀取其內(nèi)容,并統(tǒng)計(jì)總分,分別顯示出來(lái)。
該文件的各行內(nèi)容格式是:
學(xué)生學(xué)號(hào)(int)\t學(xué)生姓名(String)\tJava考試成績(jī)(double)\r\n
..........
12、......
1. 程序源代碼
import java.io.*;
import java.util.*;
public class title4_2{
public static void main(String[] args) throws IOException{
Scanner sc=new Scanner(new File("a.txt"),"UTF-8");
System.out.println("學(xué)號(hào) 姓名 成績(jī)");
String number="";
String name="";
String marks="";
d
13、ouble mark=0;
while (sc.hasNext()) {
number = sc.next();
name=sc.next();
marks=sc.next();
System.out.println(number+" "+name+" "+marks);
mark=Double.parseDouble(marks)+mark;
}
System.out.println("總分 "+mark);
}
}
2.實(shí)驗(yàn)結(jié)果
實(shí)驗(yàn)題目三: 將楊輝三角形的結(jié)果保存到一個(gè)文本文件“c.txt”中。
14、
1. 程序源代碼
import java.io.*;
public class title4_3{
public static void main(String args[]) throws IOException {
int n=10;
int a[][];
a=new int[n][];
for(int i=0;i
15、1;
for(int j=1;j
16、+a[i][j]+"\t");
yanghui.write(Integer.toString(a[i][j]));
yanghui.write('\t');
}
yanghui.write('\r');
System.out.println();
}
yanghui.close();
}
}
2.試驗(yàn)結(jié)果
實(shí)驗(yàn)題目四: 有一個(gè)文本文件"c.txt"有多行內(nèi)容,各行首部都包含一個(gè)行號(hào)和冒號(hào),請(qǐng)按行號(hào)對(duì)各行進(jìn)行排序,并在尾部寫入冒號(hào)和本行字符數(shù),然后
17、保存在另一個(gè)文本文件"d.txt"之中。
比如:文件"c.txt"內(nèi)容格式如下:
1: 西安交大召開(kāi)創(chuàng)先爭(zhēng)優(yōu)活動(dòng)總結(jié)大會(huì)
2: 教育部高??蒲泄芾矸椒ㄑ杏憰?huì)暨青委會(huì)西北片區(qū)成立大會(huì)在西安交...
3: 法國(guó)巴黎南十一大學(xué)代表團(tuán)訪問(wèn)西安交大
4: 第14屆亞洲地區(qū)英語(yǔ)語(yǔ)言測(cè)試研討會(huì)在西安交大舉行
1. 程序源代碼
import java.io.*;
import java.util.*;
public class title4_4{
public static void main(String[] args) throws IOException{
Buff
18、eredReader in=new BufferedReader(new FileReader(new File("c.txt")));
BufferedWriter out=new BufferedWriter(new FileWriter(new File("d.txt")));
char[] a=new char[10];
int i=0;
String str;
String[] c= new String[10];
int length;
while((str=in.readLine())!=null){
a[i]=str.charAt(0);
c[i]=str;
i++;
}
for(int j=1;j<=i;j++){
for(int z=0; z