实验5 JAVA常用类.docx

上传人:b****5 文档编号:8435606 上传时间:2023-01-31 格式:DOCX 页数:21 大小:161.25KB
下载 相关 举报
实验5 JAVA常用类.docx_第1页
第1页 / 共21页
实验5 JAVA常用类.docx_第2页
第2页 / 共21页
实验5 JAVA常用类.docx_第3页
第3页 / 共21页
实验5 JAVA常用类.docx_第4页
第4页 / 共21页
实验5 JAVA常用类.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

实验5 JAVA常用类.docx

《实验5 JAVA常用类.docx》由会员分享,可在线阅读,更多相关《实验5 JAVA常用类.docx(21页珍藏版)》请在冰豆网上搜索。

实验5 JAVA常用类.docx

实验5JAVA常用类

xxxxx大学计算机与信息技术学院

实验报告

姓名

学号

专业班级

课程名称

Java实验

实验日期

成绩

指导教师

批改日期

实验名称

实验5JAVA常用类

一.实验目的:

(1)掌握常用的String,StringBuffer(StringBuilder)类的构造方法的使用;

(2)掌握字符串的比较方法,尤其equals方法和==比较的区别;

(3)掌握String类常用方法的使用;

(4)掌握字符串与字符数组和byte数组之间的转换方法;

(5)Date,Math,PrintWriter,Scanner类的常用方法。

二.实验内容

1.二进制数转换为十六进制数(此程序参考例题249页9.2.13)

程序源代码

packageT5;

importjava.util.*;

publicclassBiaToHex{

publicstaticvoidmain(String[]args){

Scannerinput=newScanner(System.in);

System.out.println("请输入二进制数:

");

Strings=input.next();

System.out.print("转换后的16进制值为:

");

chang(chaiString(ping(s)));

}

publicstaticStringping(Stringst1){

if(st1.length()%4==0)

returnst1;

elseif(st1.length()%4==1){

Stringst2=null;

st2="000"+st1;

returnst2;

}elseif(st1.length()%4==2){

Stringst2=null;

st2="00"+st1;

returnst2;

}else{

Stringst2=null;

st2="0"+st1;

returnst2;

}

}

publicstaticString[]chaiString(Stringstr1){

String[]str2=newString[str1.length()];

for(inti=0;i

str2[i]=str1.substring(i,i+4);

}

returnstr2;

}

publicstaticvoidchang(String[]str3){

for(inti=0;i

switch(Integer.parseInt(str3[i])){

case0:

System.out.print("0");

break;

case1:

System.out.print("1");

break;

case10:

System.out.print("2");

break;

case11:

System.out.print("3");

break;

case100:

System.out.print("4");

break;

case101:

System.out.print("5");

break;

case110:

System.out.print("6");

break;

case111:

System.out.print("7");

break;

case1000:

System.out.print("8");

break;

case1001:

System.out.print("9");

break;

case1010:

System.out.print("A");

break;

case1011:

System.out.print("B");

break;

case1100:

System.out.print("C");

break;

case1101:

System.out.print("D");

break;

case1110:

System.out.print("E");

break;

case1111:

System.out.print("F");

break;

}

}

}

}

程序运行结果贴图

 

 

2.将十进制转换为二进制

程序源代码

packageT5;

publicclassShujingzhi{

privateintshi;

privateint[]a1=newint[200];

publicintj;

Shujingzhi(intshi){

this.shi=shi;

}

publicint[]exchange(){

inta=shi;

for(inti=0;;i++){

if(a<=1){

a1[i]=a;

j=i;

break;

}else{

a1[i]=a%2;

a=a/2;

}

}

returna1;

}

publicint[]getA1(){

returna1;

}

publicintgetShi(){

returnshi;

}

}

 

packageT5;

importjava.util.*;

publicclassLX5_2{

publicstaticvoidmain(String[]args){

Scannerinput=newScanner(System.in);

System.out.println("请输入一个十进制数:

");

Shujingzhishi=newShujingzhi(input.nextInt());

print(shi);

}

publicstaticvoidprint(Shujingzhishi1){

shi1.exchange();

System.out.println("十进制"+shi1.getShi()+"转换为二进制等于:

");

for(inti=shi1.j;i>=0;i--){

System.out.print(shi1.getA1()[i]);

}

}

}

程序运行结果贴图

 

3.一些网站设定了一些制定密码的规则。

编写一个方法,检验一个字符串是否是合法的密码。

假设密码规则如下:

(1)密码必须至少有8个字符。

(2)密码只能包括字母和数字。

(3)密码必须至少有2个数字。

编写一个程序,提示用户输入密码,如果该密码符合规则就显示“ValidPassword”,否则显示“InvalidPassword”。

程序源代码

packageT5;

importjava.util.*;

publicclassPassword{

publicstaticvoidmain(String[]args){

Scannerinput=newScanner(System.in);

System.out.println("请输入密码:

");

Stringstr1=input.next();

Stringstr2=str1.toLowerCase();

if(str1.length()>=8){

intj=0;

char[]a1=str2.toCharArray();

for(inti=0;i

if((a1[i]-'0'<=9&&a1[i]-'0'>=0)

||(a1[i]-'a'>=0&&a1[i]-'a'<=26)){

if(a1[i]-'0'<=9&&a1[i]-'0'>=0)

j++;

}else{

System.out.println("ValidPassword");

System.exit(0);

}

}

if(j<2){

System.out.println("ValidPassword");

}else

System.out.println("InvalidPassword");

}else

System.out.println("ValidPassword");

}

}

程序运行结果贴图

 

4.使用下面的方法头编写一个方法,找出某个指定字符在字符串中出现的次数:

publicstaticintcount(Stringstr,chara)

例如,count(“Welcome”,’e’)返回2.编写一个测试程序,提示用户输入一个字符串,在该字符串后紧跟着一个字符,然后显示这个字符在字符串中出现的次数。

程序源代码

packageT5;

importjava.util.*;

publicclassLX5_3{

publicstaticvoidmain(String[]args){

Scannerinput=newScanner(System.in);

System.out.println("请输入一个字符串");

Stringstr1=input.next();

System.out.println("请输入一个字符");

Stringstr2=input.next();

chara1=str2.charAt(0);

System.out.println("字符"+a1+"出现的次数为"+count(str1,a1));

}

publicstaticintcount(Stringstr,chara){

char[]a1=str.toCharArray();

intj=0;

for(inti=0;i

if(a1[i]-a==0)

j++;

}

returnj;

}

}

 

程序运行结果贴图

 

5.Java提供了3个日期类:

Date、Calendar和DateFormat。

其中,Date类主要用于创建日期对象并获取日期,Calendar类可获取和设置日期,DateFormat类用来设置日期的格式。

Java语言规定的基准日期为1970.1.100:

00:

00格林威治(GMT)标准时间,当前日期是由基准日期开始所经历的毫秒数转换出来的。

程序源代码如下,手工输入,认真分析并运行程序,掌握java日期相关类的用法。

importjava.util.*;

importjava.text.*;

publicclassKY5_10

{

publicstaticvoidmain(Stringargs[])

{

Datetoday=newDate();//当前日期和时间

SimpleDateFormatsdf;

sdf=newSimpleDateFormat("yyyy年MM月dd日hh时mm分ss秒aEEEEE");

System.out.println("当前日期和时间:

"+sdf.format(today));

longhms=System.currentTimeMillis();//当前时间的毫秒数

System.out.println("当前时间的毫秒数="+hms);

Datetomorrow=newDate(hms+24*60*60*1000);

System.out.println("明天是"+sdf.format(tomorrow));

Calendarnow=Calendar.getInstance();

intyear=now.get(Calendar.YEAR);//年份

intmonth=now.get(Calendar.MONTH)+1;//月份

intday=now.get(Calendar.DATE);//日期

System.out.print("今天是"+year+"年"+month+"月"+day+"日");

intweek=now.get(Calendar.DAY_OF_WEEK);//星期

switch(week)

{

case1:

System.out.println("星期日");break;

case2:

System.out.println("星期一");break;

case3:

System.out.println("星期二");break;

case4:

System.out.println("星期三");break;

case5:

System.out.println("星期四");break;

case6:

System.out.println("星期五");break;

case7:

System.out.println("星期六");break;

}

}

}

•编译并运行程序

程序运行结果贴图

 

6Math是一个最终类,含有基本数学运算函数。

创建使用Math类的应用程序,程序中使用如指数运算、对数运算、求平方根、三角函数、随机数等,可以直接在程序中加Math.前缀调用。

 

程序源代码

packageT5;

importjava.util.*;

publicclassLX5_4{

publicstaticvoidmain(String[]args){

Scannerinput=newScanner(System.in);

System.out.println("指数运算,请输入a,b:

");

System.out.println("结果为:

"

+Math.pow(input.nextDouble(),input.nextDouble()));

System.out.println("对数运算,请输入值(e为底):

");

System.out.println("结果为:

"+Math.log(input.nextDouble()));

System.out.println("对数运算,请输入值(10为底):

");

System.out.println("结果为:

"+Math.log10(input.nextDouble()));

System.out.println("求平方根,请输入值:

");

System.out.println("结果为"+Math.sqrt(input.nextDouble()));

System.out.println("求正弦,请输入角度(弧度):

");

System.out.println("结果为:

"+Math.sin(input.nextDouble()));

System.out.println("求余弦,请输入角度(弧度)");

System.out.println("结果为:

"+Math.cos(input.nextDouble()));

System.out.println("求正切,请输入角度值(弧度):

");

System.out.println("结果为:

"+Math.tan(input.nextDouble()));

System.out.println("求反正弦,请输入角度(弧度):

");

System.out.println("结果为:

"+Math.asin(input.nextDouble()));

System.out.println("求反余弦,请输入角度(弧度)");

System.out.println("结果为:

"+Math.acos(input.nextDouble()));

System.out.println("求反正切,请输入角度值(弧度):

");

System.out.println("结果为:

"+Math.atan(input.nextDouble()));

System.out.println("产生随机数(0~1)"+Math.random());

}

}

程序运行结果贴图

课后作业题p2679.59.8p2729.199.21

9.5

可以用toLowerCase();toUpperCase();等改变字符串,转换大小写。

9.8

因为构造函数的text为局部变量,并不是类里定义的privatetext这个变量,所以无法将大写变成小写字母。

9.19

程序代码:

packageT5;

importjava.io.*;

importjava.util.*;

publicclassLX5_5{

publicstaticvoidmain(String[]args)throwsException{

creatFile();

print(paixu(read()));

}

publicstaticvoidcreatFile()throwsException{

Filefile=newFile("Exercis9_19.txt");

if(!

file.exists()){

System.out.println("文件不存在,创建文件:

");

}

else

System.out.println("文件已存在!

");

PrintWriteroutput=newPrintWriter(file);//也可以直接写文件名,须加“”,""内位文件名的字符串,不能是路径;

for(inti=0;i<100;i++){

inta=(int)(1+Math.random()*999);

output.print(a+"");

}

output.close();

System.out.println("创建完成!

");

}

publicstaticint[]read()throwsException{

int[]a=newint[100];

Filefile=newFile("Exercis9_19.txt");//须创建文件提供读取

Scannerinput=newScanner(file);//若""Exercis9_19.txt"是指从"Exercis9_19.txt"的字符串创建扫描器,而不是从文件读取数据。

for(inti=0;i<100;i++){

a[i]=input.nextInt();

if(!

input.hasNext()){

input.close();

break;

}

}

returna;

}

publicstaticint[]paixu(int[]list)throwsException{

for(inti=0;i

intcurrentMin=list[i];

intcurrentMinIndex=i;

for(intj=i+1;j

if(currentMin>list[j]){

currentMin=list[j];

currentMinIndex=j;

}

}

if(currentMinIndex!

=i){

list[currentMinIndex]=list[i];

list[i]=currentMin;

}

}

returnlist;

}

publicstaticvoidprint(int[]list1){

for(inti=0;i

System.out.printf("%-4d",list1[i]);

if((i+1)%10==0)

System.out.println();

}

}

}

运行贴图:

9.21

程序代码:

packageT5;

importjava.io.*;

importjava.util.*;

publicclassLX5_6{

publicstaticvoidmain(String[]args)throwsException{

Filefile=newFile("Exercise9_21.txt");//不会创建一个文件

if(!

file.exists()){

System.out.println("文件不存在!

");

System.exit(0);

}

Stringa1=null;

System.out.println("请输入要删除的字符串:

");

Scannerinput=newScanner(System.in);

a1=input.next();

deletString(a1);

}

publicstaticbooleansearch(Stringa)throwsException{

intx;

Filefile=new

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1