JAVA实验报告.docx
《JAVA实验报告.docx》由会员分享,可在线阅读,更多相关《JAVA实验报告.docx(36页珍藏版)》请在冰点文库上搜索。
JAVA实验报告
日期:
2018年5月地点:
明向校区公共机房6
(1)实验题目,实验原理和内容
一、实验目的:
JAVA结构化程序设计
二、实验原理:
声明不同数据类型的变量,使用关系运算符和逻辑运算符,使用表达式语句与复合语句,使用选择语句,使用循环语句。
实验内容及要求:
1、题目1:
编写程序,实现从键盘输入一个0到100之内的整数,把百分制分数到等级分数的转换
//
//>=90A
//80~89B
//70~79C
//60~69D
//<60E
2、成法口诀阵形
3、华氏和摄氏的转换法
4、.从键盘输入10个数,排序输出。
要求:
请同学们把调试好的程序及运行结果、存在的问题写在下面(不够可以附页)。
1、
packagetest1;
importjava.util.*;
publicclassTEST1{
publicstaticvoidmain(String[]args){
System.out.println("请输入一个0到100之间的整数");
Scannerscanner=newScanner(System.in);
intx;
intm=scanner.nextInt();
x=m/10;
switch(x)
{case9:
System.out.println("A");break;
case8:
System.out.println("B");break;
case7:
System.out.println("C");break;
case6:
System.out.println("D");break;
default:
System.out.println("E");break;
}
}
}
2、
packagetest2;
publicclassTEST2{
publicstaticvoidmain(String[]args){
intnum;intm;
for(inti=1;i<=9;i++){
for(intj=1;j<=i;j++){
num=i*j;
System.out.print(j+"*"+i+"="+num+"\t");
if(i==j)
System.out.println();}
}
}
}
3、
packagetest3;
importjava.util.*;
publicclassTEST3{
publicstaticvoidmain(String[]args){
Scannerscanner=newScanner(System.in);
while(true){
System.out.println("请输入要转换的温度类型:
c或f");
Stringa=scanner.nextLine();
Stringnum1=newString("c");
Stringnum2=newString("f");
Stringnum3=newString("exit");
if(a.equals(num1))
{
System.out.println("请输入要转换摄氏的温度:
..");
doubleC=scanner.nextFloat();
System.out.println("对应的华氏温度为:
");
System.out.println(32+C*1.8+"F");
}
if(a.equals(num2))
{
System.out.println("请输入要转换华氏的温度:
..");
doubleF=scanner.nextFloat();
System.out.println("对应的摄氏温度为:
"+"C");
System.out.println((F-32)/1.8+"C");
}
if(a.equals(num3))break;
Stringbank=scanner.nextLine();
}}
}
4、
packagetest4;
importjava.util.*;
publicclassTest4{
publicstaticvoidmain(String[]args){
Scannerscanner=newScanner(System.in);
intm;
int[]a=newint[10];
for(inti=0;i<=9;i++)
a[i]=scanner.nextInt();
inttemp;
for(inti=0;i<10;i++)
{for(intj=i+1;j<10;j++)
{if(a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
for(intx=0;x<=9;x++)
System.out.print(a[x]+"");
}
}
日期:
2018年5月地点:
明向校区公共机房6
(2)实验题目,实验原理和内容
一.实验目的:
数组、字符串与异常处理
二.实验原理:
使用数组,使用字符串与字符串类,处理异常。
三.实验内容及要求:
1.编写一程序,计算矩阵A={{7,9,4},{5,6,8}}与矩阵B={{9,5,2,8},{5,9,7,2}}相乘,把结果存入矩阵C,并在屏幕输出结果。
2.使用冒泡排序(数组,数字为:
63,4,24,1,3,5)
3.编写程序,测试字符串“你好,欢迎来到Java世界”的长度,将字符串的长度转换成字符串进行输出,并对其中的“Java”四个字母进行截取,输出截取字母以及它在字符串中的位置。
要求:
请同学们把调试好的程序及运行结果、存在的问题写在下面(不够可以附页)。
1、packagetest;
publicclassTest1{
publicstaticvoidmain(String[]args){
intA[][]={{7,9,4},
{5,6,8}};
intB[][]={{9,5,2,8},
{5,9,7,2},
{3,6,2,9}};
intC[][]=newint[2][4];
intx,i,j;
for(i=0;i<=1;i++)
{
for(j=0;j<=3;j++)
{
inttemp=0;
for(x=0;x<=2;x++)
{
temp=A[i][x]*B[x][j]+temp;
}
C[i][j]=temp;
}
}for(intm=0;m<=1;m++){
for(intn=0;n<=3;n++)
{
System.out.print(C[m][n]+"\t");
}
System.out.println();
}
}
}
2、
packagetest;
publicclassTest2
{
publicstaticvoidmain(String[]args)
{
intA[]={63,4,24,1,3,5};
intx;
for(inti=0;i<=5;i++)
{
for(intj=0;j<=5;j++)
{
if(A[i]>A[j])
{
x=A[i];
A[i]=A[j];
A[j]=x;
}
}
}
for(inti=0;i<=5;i++)
System.out.print(A[i]+"");
}
}
3、
packagetest;
publicclassTest3{
publicstaticvoidmain(String[]args){
Strings=newString("你好,欢迎来到Java世界");
inta=s.length();
System.out.println("字符段长度为:
"+a);
System.out.println(s.substring(7,11));
System.out.println("J位置:
"+s.indexOf("J"));
System.out.println("a位置:
"+s.indexOf("a"));
System.out.println("v位置:
"+s.indexOf("v"));
System.out.println("a位置:
"+s.indexOf("a",(s.indexOf("a")+1)));
}
}
日期:
2018年5月地点:
明向校区公共机房6
(3)实验题目,实验原理和内容
一.实验目的:
文件与数据流
二.实验原理:
使用标准输入输出流,使用字符输入输出流,使用随机文件类,文件的读写操作。
三.实验内容及要求:
1.输入8个整数的数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
2.创建一个文本文件memo.txt,编写程序实现打开该文本文件,每次读取一行内容,将每行作为一个字符串读入,并将字符串输出显示到屏幕上。
要求:
请同学们把调试好的程序及运行结果、存在的问题写在下面(不够可以附页)。
1、
packaget1;
importjava.util.Scanner;
publicclassT1{
publicstaticvoidmain(String[]args){
int[]a=newint[8];
Scannerscanner=newScanner(System.in);
System.out.println("请输入八个整数:
");
a[0]=scanner.nextInt();
intmax=0,min=0;
for(inti=1;ia[i]=scanner.nextInt();
max=a[max]>=a[i]?
max:
i;
}
inttemp;
temp=a[0];
a[0]=a[max];
a[max]=temp;
for(inti=1;imin=a[min]<=a[i]?
min:
i;
}
temp=a[7];
a[7]=a[min];
a[min]=temp;
for(inti=0;iSystem.out.print(a[i]+"");
}
scanner.close();
}
}
2、
packaget1;
importjava.io.*;
publicclassT1{
publicstaticvoidmain(String[]args)throwsIOException{
FileReaderfin=newFileReader(".\\memo.txt");
BufferedReaderbin=newBufferedReader(fin);
Stringstr;
while((str=bin.readLine())!
=null)
System.out.println(str);
bin.close();
}
}
日期:
2018年5月地点:
明向校区公共机房6
(4)实验题目,实验原理和内容
一.实验目的:
文件与数据流。
二.实验原理:
使用标准输入输出流,使用字符输入输出流,使用随机文件类,文件的读写操作。
三.实验内容及要求:
1.使用标准输入输出流
2.使用字符输入输出流
3.使用随机文件类
4.文件的读写操作
四.题目:
1.编写一个程序,在控制台中窗口中提示输入两个整数,然后接收这两个整数,并输出它们的和,下面是运行过程的示例:
请输入第一个整数:
45
请输入第二个整数:
23
计算结果:
45+23=68
2.编写一个程序,要求输入5个学生的成绩(从0到100的整数),并将这5个数保存到文件“data.txt”中。
然后再编写一个程序,从文件的“data.txt”中读取这5个学生的成绩,计算并输出它们的平均数,然后再按从小到大的顺序输出这5个学生的成绩。
3.编写一个程序。
修改在上一题生成的文件“data.txt”中的文件内容,使得第三个学生的成绩变成为这5个学生的平均成绩,并在控制台窗口中输出在修改以后的文件内容。
4.输入一个不多于5位的正整数,要求:
一,求它是几位数,二,逆序打印出各位数字。
要求:
请同学们把调试好的程序及运行结果、存在的问题写在下面(不够可以附页)。
1、
packageTEST1;
importjava.util.Scanner;
publicclasstese1{publicstaticvoidmain(String[]args)
{
System.out.print("请输入第一个整数:
");
Scanners1=newScanner(System.in);
inta1=s1.nextInt();
System.out.print("请输入第二个整数:
");
Scanners2=newScanner(System.in);
inta2=s2.nextInt();
System.out.print("计算结果:
"+a1+"+"+a2+"="+(a1+a2));
}
}
2、
packageTEST2;
importjava.io.*;
importjava.util.*;
publicclasstest2{
privateFilefile=newFile("data.txt");
privateFileOutputStreamfos;
privatePrintWriterpw;
publicvoidwriteScore()
{
try{
fos=newFileOutputStream(file,false);
pw=newPrintWriter(fos);
Scannerinput=newScanner(System.in);
for(inti=0;i<5;i++)
{
Stringscore=input.nextLine();
pw.println(score);
}
pw.flush();
fos.flush();
pw.close();
fos.close();
}catch(FileNotFoundExceptione){
e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
}
}
publicint[]readScore()
{
int[]sort=null;
try{
intpos=0;
BufferedReaderbr=newBufferedReader(newInputStreamReader(newFileInputStream(file)));
Stringline=null;
sort=newint[5];
while((line=br.readLine())!
=null)
{
sort[pos]=Integer.parseInt(line);
pos++;
}
br.close();
}catch(FileNotFoundExceptione){
e.printStackTrace();
}catch(NumberFormatExceptione){
e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
}
returnsort;
}
publicstaticvoidmain(String[]args)
{
test2d=newtest2();
intsum=0;
System.out.println("请输入成绩:
");
d.writeScore();
int[]sort=d.readScore();
Arrays.sort(sort);
System.out.println("排序以后的成绩:
");
for(inti:
sort)
{
sum+=i;
System.out.print(i+"");
}
System.out.println();
System.out.println("平均值:
"+sum/sort.length);
}
}
3、packagestart;
importjava.io.BufferedReader;
importjava.io.FileOutputStream;
importjava.io.FileReader;
importjava.io.FileWriter;
importjava.io.IOException;
publicclassXiugai{
publicstaticvoidmain(Stringargs[])throwsIOException{
FileReaderbout=newFileReader("F:
\\eclipse\\eclipse\\20180305\\data.txt");
BufferedReaderfout1=newBufferedReader(bout);
Stringvalue;
inti=0;
Stringa[]=newString[6];
while((value=fout1.readLine())!
=null){
a[i]=value;
i++;
}
System.out.println("原来的成绩");
for(intj=0;j<5;j++){
System.out.println(a[j]);
}
a[2]=String.valueOf(((Integer.parseInt(a[0])+Integer.parseInt(a[1])+Integer.parseInt(a[2])+Integer.parseInt(a[3])+Integer.parseInt(a[4]))/5));
bout.close();
FileOutputStreamtestfile=newFileOutputStream("F:
\\eclipse\\eclipse\\20180305\\data.txt");
testfile.close();
testfile.write(newString("").getBytes());
FileWriterfout=newFileWriter("F:
\\eclipse\\eclipse\\20180305\\data.txt",true);
for(inti1=0;i1<5;i1++){
fout.write(a[i1]+"\r\n");
}
System.out.println("修改后的成绩");
for(intj=0;j<5;j++){
System.out.println(a[j]);
}
fout.close();
}
}
4、
packageTEST4;
importjava.util.Scanner;
publicclasstest4{
publicstaticvoidmain(String[]args){
System.out.println("请输入一个小于99999的整数:
");
Scanners=newScanner(System.in);
inta=s.nextInt();
if(a>99999)System.out.println("error");
if(a>9999)
{
System.out.println("5位");int[]x=newint[5];
x[0]=a%10;x[1]=(a/10%10);x[2]=a/100%10;x[3]=a/1000%10;x[4]=a/10000;
for(inti=0;i<=4;i++)
{
System.out.print(x[i]);
}
}
if(a>999&a<10000)
{
System.out.println("4位");int[]x=newint[4];
x[0]=a%10;x[1]=(a/10%10);x[2]=a/100%10;x[3]=a/1000;
for(inti=0;i<=3;i++)
{
System.out.print(x[i]);
}
}
if(a>99&a<1000)
{
System.out.println("3位");int[]x=newint[3];
x[0]=a%10;x[1]=(a/10%10);x[2]=a/100;
for(inti=0;i<=2;i++)
{
System.out.print(x[i]);
}
}
if(a>9&a