Java语言程序设计试题及答案2Word文档格式.docx
- 文档编号:16504598
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:43
- 大小:102.30KB
Java语言程序设计试题及答案2Word文档格式.docx
《Java语言程序设计试题及答案2Word文档格式.docx》由会员分享,可在线阅读,更多相关《Java语言程序设计试题及答案2Word文档格式.docx(43页珍藏版)》请在冰豆网上搜索。
publicstaticvoidmain(Stringargs[]){
intintArray[][]={{1,2,9,10,25},
{4,3,8,11,24},
{5,6,7,12,23},
{16,15,14,13,22},
{17,18,19,20,21}};
for(inti=0;
i<
=4;
i++){
for(intj=0;
j<
j++){
if(intArray[i][j]/10==0)
System.out.print("
"
+intArray[i][j]+"
);
else
System.out.print(intArray[i][j]+"
}
System.out.println("
"
}
}
解二:
publicstaticvoidmain(String[]args){
introw=5;
//这里控制输出的行列请保证行列相等
int[][]a=newint[row][row];
a[0][0]=1;
intn=2,zero=0,change=1;
intvalue=2;
for(inti=1;
row;
(2*n-1);
if(i%2!
=0){
if(j<
(2*n-2)/2){
a[zero++][change]=value++;
continue;
}
if(j==(2*n-2)/2){
a[j][j]=value++;
if(j>
a[change][--zero]=value++;
}else{
a[change][zero++]=value++;
a[--zero][change]=value++;
}
n++;
change++;
zero=0;
Stringout="
out="
+a[i][j];
if(out.length()==1)
out="
+out;
System.out.print(out+"
System.out.println();
4.5java中的字符数组与字符串有什么区别?
字符数组是由类型为char的字符元素组成的,每个元素位置存储一个字符元素,对于数组名为s的数组,用chars[]表示。
字符串是由0个或多个字符组成的序列,是一个对象,对于对象名为s用Strings表示。
4.6确定一个字符数组长度与确定一个String对象的长度有什么不同?
确定一个字符数组的长度用数组名.length,而确定一个String对象的长度用对象名.length()
4.7用toUpperCase()和toLowerCase()方法实现大小写转换
publicclassUpperAndLowerTest{
publicstaticvoidmain(Stringargs[]){
Strings1=("
ABCdefgHIJkhl123"
),s2,s3;
System.out.println("
未转换时的字符串s1="
+s1);
bytet1[]=s1.getBytes();
//将字符串s1转换成字节数组t1
s2=s1.toUpperCase();
//将字符串s1的字母全部转换成大写并保存到s2
s3=s1.toLowerCase();
//将字符串s1的字母全部转换成小写并保存到s3
bytet2[]=s2.getBytes();
//将字符串s2转换成字节数组t2
bytet3[]=s3.getBytes();
//将字符串s1转换成字节数组t3
for(inti=0;
i<
t1.length;
i++){
if(t1[i]!
=t2[i])//如果t1[i]不是大写字母而是小写字母
t1[i]=t2[i];
//将小写字母转换成大写字母
else//如果是大写字母
t1[i]=t3[i];
//将大写字母转换成小写字母
}
s1=newString(t1);
//将字节数组t1转化成字符串保存到s1中
进行字母大小写转换后的s1="
4.8编写一个程序通过连接两个字符串得到一个新字符串并输出。
publicclassConcatTest{
Stringstr1="
abcd"
Stringstr2="
efgh"
Stringstr3=str1.concat(str2);
str3="
+str3);
4.9声明MyDate类,功能:
增加1天,增减1月和增加1年的方法;
输出MyDate对象日期的方法;
求两个MyDate对象日期差的方法。
并提供能用当前日期初始化MyDate类对象的构造方法。
程序运行结果:
源文件:
MyDate.java
importjava.util.Calendar;
/**
*日历类
*@author段智敏
*/
publicclassMyDate
{
publicstaticlongYEAR_MSEL=1000*60*60*24*365L;
publicstaticlongMONTH_MSEL=1000*60*60*24*30L;
publicstaticlongDATE_MSEL=1000*60*60*24L;
publicstaticlongHOUR_MSEL=1000*60*60L;
publicstaticlongMINUTE_MSEL=1000*60L;
privateintyear;
privateintmonth;
privateintdate;
privateinthour;
privateintminute;
privateintsecond;
privateCalendarcalendar;
/**
*构造方法使用当前时间日期初始化对象
publicMyDate()
{
calendar=Calendar.getInstance();
year=calendar.get(Calendar.YEAR);
month=calendar.get(Calendar.MONTH)+1;
date=calendar.get(Calendar.DAY_OF_MONTH);
hour=calendar.get(Calendar.HOUR_OF_DAY);
minute=calendar.get(Calendar.MINUTE);
second=calendar.get(Calendar.SECOND);
*构造方法使用指定年、月、日初始化对象
publicMyDate(intyear,intmonth,intdate)
set(year,month,date);
*构造方法使用指定年、月、日、时、分、秒初始化对象
publicMyDate(intyear,intmonth,intdate,inthourOfDay,intminute,intsecond)
set(year,month,date,hourOfDay,minute,second);
*设置日历字段year、month和date的值。
*@paramyear-用来设置YEAR日历字段的值。
*@parammonth-用来设置month日历字段的值。
*@paramdate-用来设置date日历字段的值。
publicvoidset(intyear,intmonth,intdate)
set(year,month,date,0,0,0);
*@paramhourOfDay-用来设置hour日历字段的值。
*@paramminute-用来设置minute日历字段的值。
*@paramsecond-用来设置second日历字段的值。
publicvoidset(intyear,intmonth,intdate,inthourOfDay,intminute,intsecond)
calendar.set(year,month-1,date,hourOfDay,minute,second);
this.year=calendar.get(Calendar.YEAR);
this.month=calendar.get(Calendar.MONTH)+1;
this.date=calendar.get(Calendar.DAY_OF_MONTH);
this.hour=calendar.get(Calendar.HOUR_OF_DAY);
this.minute=calendar.get(Calendar.MINUTE);
this.second=calendar.get(Calendar.SECOND);
*增加一天
publicvoidaddOneDay()
date++;
calendar.set(year,month,date);
*增减一月
publicvoidaddOneMonth()
month++;
*增加一年
publicvoidaddOneYear()
year++;
*返回此时间值,以毫秒为单位。
*@return-当前时间,以从历元至现在所经过的UTC毫秒数形式。
publiclonggetTimeInMillis()
returncalendar.getTimeInMillis();
*两个日期相差的时间
*@parammd-另一个日期对象
*@return-相差的时间
publicStringapart(MyDatemd)
longmsel=this.getTimeInMillis()-md.getTimeInMillis();
msel=Math.abs(msel);
booleanboo=msel>
0?
true:
false;
longyear=msel/MyDate.YEAR_MSEL;
longdate=msel%MyDate.YEAR_MSEL/MyDate.DATE_MSEL;
longhour=msel%MyDate.DATE_MSEL/MyDate.HOUR_MSEL;
longminute=msel%MyDate.HOUR_MSEL/MyDate.MINUTE_MSEL;
longsecond=msel%MyDate.MINUTE_MSEL/1000;
Stringresult="
if(boo)
result="
已过去"
else
还有"
result+=(year+"
年"
+date+"
天"
+hour+"
小时"
+minute+"
分钟"
+second+"
秒"
returnresult;
*返回此日历的字符串表示形式。
*@return-此日历的字符串表示形式。
publicStringtoString()
returnyear+"
+month+"
月"
+date+"
日,"
:
+second;
测试类源文件:
TestMyDate.java
*MyDate的测试类
publicclassTestMyDate
publicstaticvoidmain(String[]args)
MyDatemd1=newMyDate();
MyDatemd2=newMyDate(2014,1,30);
System.out.println("
当前时间:
+md1.toString());
2014年除夕:
+md2.toString());
md2.addOneDay();
增加一天后,大年初一:
4.10求前n个质数。
要求确定m是否是质数,用早先求出的质数对m的整除性来确定。
*求前n个质数。
<
BR>
*确定m是否是质数,用早先求出的质数对m的整除性来确定。
publicclassWork4_10
/**用来存质数的数组*/
privateintarrayInt[];
publicWork4_10(intn)
arrayInt=newint[n];
arrayInt[0]=2;
intindex=1;
//保存数组的有效长度
booleanboo=true;
for(inti=2;
arrayInt.length;
i++)
{
boo=true;
index;
j++)
{
if(i%arrayInt[j]==0)//用已存入数组中的质数判断
boo=false;
if(boo)//如果是true则是指数,存入数组,数组有效长度加1.
arrayInt[index]=i;
index++;
*打印数组元素
publicStringprintArray()
if(arrayInt[i]!
=0)
result+=arrayInt[i]+"
Work4_10w=newWork4_10(100);
System.out.println(w.printArray());
4.11编写实现从两个字符串中找出最长的相同字符列的代码。
*找出两个字符串中,最长的相同字符列
publicclassWork4_11
Stringstr1="
0000abcdef0000"
Stringstr2="
123ab4567cdef789abcdef"
Stringstr3=getLongSameString(str1,str2);
str1="
+str1);
str2="
+str2);
最长的相同字符串为:
+str3);
publicstaticStringgetLongSameString(Stringstr1,Stringstr2)
Stringtemp="
Stringsame="
StringlongSame="
for(inti=0;
i<
str1.length();
i++)
for(intj=i+1;
j<
=str1.length();
j++)
temp=str1.substring(i,j);
if(str2.indexOf(temp)>
0)
{
same=temp;
if(longSame.length()<
same.length())
{
longSame=temp;
}
returnlongSame;
4.12整理字符串,将字符串的前导空白符和后随空白符删去,并将字符串中非空白字符之间的连接的多个空白符只保留一个,而去掉多余的空白符。
publicclassWork4_12
publicstaticvoidmain(Stringargs[]){
Stringstr="
ILoveYou"
str=str.trim();
StringTokenizers=newStringTokenizer(str);
StringnewStr="
while(s.hasMoreTokens()){
newStr=newStr+"
+s.nextToken();
旧字符串:
+str);
处理后新字符串:
+newStr);
4.13编写用数组实现大整数的类,提供大整数的加、减、乘等运算。
大整数类源文件:
MyBigInteger.java
*大整数类
publicclassMyBigInteger
/**能存储的最大位数*/
publicstaticfinalintMAXLENGTH=100;
/**正负号标识*/
privateintsignum=1;
/**实际存储用的数组*/
privateintdataArray[];
*将参数的十进制字符串表示形式转换为BigInteger。
*@paramval-要转换的十进制字符串表示形式。
pub
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 语言程序设计 试题 答案