实验5.1
一.上机目的和要求
编写一个类,该类有如下一个方法:
public int f(int a, int b){
…
//要求该方法返回a和b的最大公约数}
再编写一个该类的子类,要求子类重写方法f(),而且重写的方法将返回两个整数的最小公倍数。
要求:在重写的方法的方法体中首先调用被隐藏的方法返回a和b的最大公约数m,然后将(ab)/m返回;在应用的程序的主类中分别使用父类和子类创建对象,并分别调用方法f(计算两个正整数的最大公约数和最小公倍数。
二.程序算法分析及实现(代码)(或问题解答)
package czw1;
import java.util.;
class A{
public int f(int a,int b){
int r;
while((r=a%b)!=0){
a=b;
b=r;
}
return b;
}
public int g(int a,int b){
if(a>b)return a;
else return b;
}
}
class B extends A{
public int f(int a,int b){
int m;
m=f(a,b);
return a*b/m;
}
}
public class czw1 {
public static void main(String args[]){
int a,b;
Scanner in=new Scanner(System.in);
a=in.nextInt();
b=in.nextInt();
A x=new A();
B y=new B();
System.out.println("最小公约数: “+x.f(a,b)+” 最大公倍数: "+y.f(a,b));
} }
三.结果分析及测试相关记录(包括运行截屏)
四.实验体会和学习感悟
A类实现求最小公约数,B类实现求最大公倍数class B extends A{
public int f(int a,int b){
int m;
m=f(a,b);
return a*b/m;
}
}是B类对A类的重写
实验6.2
一.上机目的和要求
编写一个Java应用程序,用户从键盘输入一行含有数字字符的字符串,程序仅仅输出该字符串中的全部数字字符。
二.程序算法分析及实现(代码)(或问题解答)
package czw1;
import java.util.Scanner;
public class czw1 {
public static void main(String args[]){
System.out.println(“输入含有数字字符的字符串:”);
Scanner reader=new Scanner(System.in);
while(reader.hasNext()){
String a=reader.next();
System.out.println(a.replaceAll("\D", “”));
}
}
}
三.结果分析及测试相关记录(包括运行截屏)
四.实验体会和学习感悟
//D表示任何一个非数字字符,通过判断是否为数字,来确定输出结果
实验7.2
一.上机目的和要求
编写一个java应用程序,计算某年,某月,某日和某年,某月,某日之间的天数间隔。要求;年,月,日通过main()方法传递到程序中
二.程序算法分析及实现(代码)(或问题解答)
package czw1;
import java.util.;
public class czw1{
public static void main(String[] args)
{
int a,b,c;
int i,j,k;
Scanner input=new Scanner(System.in);
System.out.print(“输入年”);
a=input.nextInt();
System.out.print(“输入月”);
b=input.nextInt();
System.out.print(“输入日”);
c=input.nextInt();
System.out.print(“输入年”);
i=input.nextInt();
System.out.print(“输入月”);
j=input.nextInt();
System.out.print(“输入日”);
k=input.nextInt();
Calendar calendar=Calendar.getInstance();
calendar.setTime(new Date());
calendar.set(a,b,c);
long time1=calendar.getTimeInMillis();
calendar.set(i,j,k);
long time2=calendar.getTimeInMillis();
long d=(time2-time1)/(1000606024);
System.out.println(d);
}
三.}结果分析及测试相关记录(包括运行截屏)
四.实验体会和学习感悟
通过输入端口输入年月日,利用calender类 calendar.setTime来得到年月日,利用d=(time2-time1)/(1000606024);计算相差的天数。
实验7.4
一.上机目的和要求
有集合A={1,2,3,4}和B={1,3,7,9,11},编写一个应用程序输出它们的交集,并集和差集。
二.程序算法分析及实现(代码)(或问题解答)
package czw1;
import java.util.;
public class czw1{
public static void main(String args[]) {
Integer[] A = {1,2,3,4};
Integer[] B = {1,3,7,9,11};
List listA = Arrays.asList(A);
List listB = Arrays.asList(B):
List jiaoji = new ArrayList();
for(Integer a:listA){
if(listB.contains(a)){
jiaoji.add(a);
}
}
System.out.println(jiaoji);
List bingji = new ArrayList();
for(Integer a:listA){
if(!bingji.contains(a)){
bingji.add(a);
}
}
for(Integer b:listB){
if(!bingji.contains(b)){
bingji.add(b); }}
System.out.println(bingji);
List chaji = new ArrayList();
for(Integer a:listA){
if(!listB.contains(a)){
chaji.add(a);} }
System.out.println(chaji);}}
三.结果分析及测试相关记录(包括运行截屏)
四.实验体会和学习感悟
Hashset泛型类来实现数学集合,进行交并差运算。
实验9.1
一.上机目的和要求
编写一个程序,读取一个文本文件的内容。
二.程序算法分析及实现(代码)(或问题解答)
package czw1;
import java.io.*;
public class czw1
{
public static void main(String[] args) throws Exception
{
FileInputStream file = new FileInputStream(“D:/source.txt”);
BufferedReader file1 = new BufferedReader(new InputStreamReader(file));
String t = null;
while((t=file1.readLine())!=null)
System.out.println(t);
}
}
三.结果分析及测试相关记录(包括运行截屏)
四.实验体会和学习感悟
将FileInputStream 流BufferedReader流连接在一起,将数据写到 "D:/source.txt文件目录下
实验9.4
一.上机目的和要求
编写一个应用程序,将用户从键盘输入的10个整数文件,在顺序读出
二.程序算法分析及实现(代码)(或问题解答)
package czw1;
import java.io.*;
public class czw1 {
public static void main(String[] args) {
FileOutputStream bw=null;
FileInputStream bs=null;
File f=new File(“12.txt”);
try {
f.createNewFile();
} catch (IOException e){ }
InputStreamReader h=new InputStreamReader(System.in);
BufferedReader br=new BufferedReader(h);
try {
bw=new FileOutputStream(f);
String s=br.readLine();
bw.write(s.getBytes());
bs=new FileInputStream(f);
byte a[]=new byte[10];
int i=0;
while((i=bs.read(a))!=-1)
{String j=new String(a, 0, i);
System.out.print(j);}}
catch (IOException e){ }}}
三.结果分析及测试相关记录(包括运行截屏)
四.实验体会和学习感悟
使用InputStreamReader流和BufferedReader流来控制数据的输入写入到文件12.txt中,来输入十个数据,enter键结束输入。