实验5 JAVA常用类Word格式.docx
《实验5 JAVA常用类Word格式.docx》由会员分享,可在线阅读,更多相关《实验5 JAVA常用类Word格式.docx(21页珍藏版)》请在冰豆网上搜索。
publicstaticStringping(Stringst1){
if(st1.length()%4==0)
returnst1;
elseif(st1.length()%4==1){
Stringst2=null;
st2="
000"
+st1;
returnst2;
}elseif(st1.length()%4==2){
00"
}else{
0"
}
publicstaticString[]chaiString(Stringstr1){
String[]str2=newString[str1.length()];
for(inti=0;
i<
str1.length();
i+=4){
str2[i]=str1.substring(i,i+4);
returnstr2;
publicstaticvoidchang(String[]str3){
str3.length;
switch(Integer.parseInt(str3[i])){
case0:
System.out.print("
break;
case1:
1"
case10:
2"
case11:
3"
case100:
4"
case101:
5"
case110:
6"
case111:
7"
case1000:
8"
case1001:
9"
case1010:
A"
case1011:
B"
case1100:
C"
case1101:
D"
case1110:
E"
case1111:
F"
}
}
程序运行结果贴图
2.将十进制转换为二进制
程序源代码
publicclassShujingzhi{
privateintshi;
privateint[]a1=newint[200];
publicintj;
Shujingzhi(intshi){
this.shi=shi;
publicint[]exchange(){
inta=shi;
;
i++){
if(a<
=1){
a1[i]=a;
j=i;
}else{
a1[i]=a%2;
a=a/2;
returna1;
publicint[]getA1(){
publicintgetShi(){
returnshi;
publicclassLX5_2{
请输入一个十进制数:
Shujingzhishi=newShujingzhi(input.nextInt());
print(shi);
publicstaticvoidprint(Shujingzhishi1){
shi1.exchange();
十进制"
+shi1.getShi()+"
转换为二进制等于:
for(inti=shi1.j;
i>
=0;
i--){
System.out.print(shi1.getA1()[i]);
3.一些网站设定了一些制定密码的规则。
编写一个方法,检验一个字符串是否是合法的密码。
假设密码规则如下:
(1)密码必须至少有8个字符。
(2)密码只能包括字母和数字。
(3)密码必须至少有2个数字。
编写一个程序,提示用户输入密码,如果该密码符合规则就显示“ValidPassword”,否则显示“InvalidPassword”。
publicclassPassword{
请输入密码:
Stringstr1=input.next();
Stringstr2=str1.toLowerCase();
if(str1.length()>
=8){
intj=0;
char[]a1=str2.toCharArray();
for(inti=0;
a1.length;
if((a1[i]-'
0'
<
=9&
&
a1[i]-'
>
=0)
||(a1[i]-'
a'
=0&
=26)){
if(a1[i]-'
j++;
}else{
System.out.println("
ValidPassword"
System.exit(0);
}
if(j<
2){
System.out.println("
}else
InvalidPassword"
}else
System.out.println("
4.使用下面的方法头编写一个方法,找出某个指定字符在字符串中出现的次数:
publicstaticintcount(Stringstr,chara)
例如,count(“Welcome”,’e’)返回2.编写一个测试程序,提示用户输入一个字符串,在该字符串后紧跟着一个字符,然后显示这个字符在字符串中出现的次数。
publicclassLX5_3{
请输入一个字符串"
请输入一个字符"
Stringstr2=input.next();
chara1=str2.charAt(0);
字符"
+a1+"
出现的次数为"
+count(str1,a1));
publicstaticintcount(Stringstr,chara){
char[]a1=str.toCharArray();
intj=0;
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.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();
//当前时间的毫秒数
当前时间的毫秒数="
+hms);
Datetomorrow=newDate(hms+24*60*60*1000);
明天是"
+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:
星期一"
case3:
星期二"
case4:
星期三"
case5:
星期四"
case6:
星期五"
case7:
星期六"
•编译并运行程序
6Math是一个最终类,含有基本数学运算函数。
创建使用Math类的应用程序,程序中使用如指数运算、对数运算、求平方根、三角函数、随机数等,可以直接在程序中加Math.前缀调用。
publicclassLX5_4{
指数运算,请输入a,b:
结果为:
+Math.pow(input.nextDouble(),input.nextDouble()));
对数运算,请输入值(e为底):
+Math.log(input.nextDouble()));
对数运算,请输入值(10为底):
+Math.log10(input.nextDouble()));
求平方根,请输入值:
结果为"
+Math.sqrt(input.nextDouble()));
求正弦,请输入角度(弧度):
+Math.sin(input.nextDouble()));
求余弦,请输入角度(弧度)"
+Math.cos(input.nextDouble()));
求正切,请输入角度值(弧度):
+Math.tan(input.nextDouble()));
求反正弦,请输入角度(弧度):
+Math.asin(input.nextDouble()));
求反余弦,请输入角度(弧度)"
+Math.acos(input.nextDouble()));
求反正切,请输入角度值(弧度):
+Math.atan(input.nextDouble()));
产生随机数(0~1)"
+Math.random());
课后作业题p2679.59.8p2729.199.21
9.5
可以用toLowerCase();
toUpperCase();
等改变字符串,转换大小写。
9.8
因为构造函数的text为局部变量,并不是类里定义的privatetext这个变量,所以无法将大写变成小写字母。
9.19
程序代码:
importjava.io.*;
publicclassLX5_5{
publicstaticvoidmain(String[]args)throwsException{
creatFile();
print(paixu(read()));
publicstaticvoidcreatFile()throwsException{
Filefile=newFile("
Exercis9_19.txt"
if(!
file.exists()){
文件不存在,创建文件:
else
文件已存在!
PrintWriteroutput=newPrintWriter(file);
//也可以直接写文件名,须加“”,"
内位文件名的字符串,不能是路径;
100;
inta=(int)(1+Math.random()*999);
output.print(a+"
output.close();
创建完成!
publicstaticint[]read()throwsException{
int[]a=newint[100];
//须创建文件提供读取
Scannerinput=newScanner(file);
//若"
是指从"
的字符串创建扫描器,而不是从文件读取数据。
a[i]=input.nextInt();
if(!
input.hasNext()){
input.close();
returna;
publicstaticint[]paixu(int[]list)throwsException{
list.length-1;
intcurrentMin=list[i];
intcurrentMinIndex=i;
for(intj=i+1;
j<
list.length;
j++){
if(currentMin>
list[j]){
currentMin=list[j];
currentMinIndex=j;
if(currentMinIndex!
=i){
list[currentMinIndex]=list[i];
list[i]=currentMin;
returnlist;
publicstaticvoidprint(int[]list1){
list1.length;
System.out.printf("
%-4d"
list1[i]);
if((i+1)%10==0)
System.out.println();
运行贴图:
9.21
publicclassLX5_6{
Exercise9_21.txt"
//不会创建一个文件
文件不存在!
System.exit(0);
Stringa1=null;
请输入要删除的字符串:
a1=input.next();
deletString(a1);
publicstaticbooleansearch(Stringa)throwsException{
intx;
Filefile=new