java模拟试题.docx
- 文档编号:24192483
- 上传时间:2023-05-25
- 格式:DOCX
- 页数:10
- 大小:16.53KB
java模拟试题.docx
《java模拟试题.docx》由会员分享,可在线阅读,更多相关《java模拟试题.docx(10页珍藏版)》请在冰豆网上搜索。
java模拟试题
java模拟试题
2017年java模拟试题
1.代码填空(满分3分)
以下程序打印出0~9的数字,请补充缺少的代码。
publicclassMyTest
{
publicstaticvoidf(intbegin,intend)
{if(begin>end)return;
System.out.println(begin);
f(begin+1,end);
}
publicstaticvoidmain(String[]args)
{
f(0,9);
}
}
2.代码填空(满分4分)
如果要把两个整型变量a、b的值交换,一般要采用一个中间变量做过渡,但也可以在不借助任何其它变量的情况下完成。
试填写缺失的代码。
a=a^b;
b=___a^b______;
a=___a^b______;
3.代码填空(满分3分)
许多人都曾经玩过“拍七”游戏。
规则是:
大家依次从1开始顺序数数,数到含有7或7的倍数的要拍手或其它规定的方式表示越过(比如:
7,14,17等都不能数出),下一人继续数下面的数字。
违反规则者受罚。
下面的程序模拟这个过程,拍7的情况输出“*”,请完善之。
for(inti=1;i<100;i++)
{
if(i%7==0)
printf("*/n");
elseif(____i/10==7||i%10==7_______________)
printf("*/n");
else
printf("%d/n",i);
}
4.代码填空(满分5分)
下面的静态方法的目的是求出某个日期是该年度的第几天。
试完善之。
如果传入:
year=1980,month=1,day=1
则返回1
如果传入:
year=1980,month=2,day=1
则返回32
publicstaticintgetDayOfYear(intyear,intmonth,intday)
{
int[][]days=____newint[][]{{0,31,29,31,30,31,30,31,31,30,31,30,31},{0,31,28,31,30,31,30,31,31,30,31,30,31}}_________________;
intflag=(year%4==0&&year%100!
=0)||year%400==0?
1:
0;
intsum=day;
for(inti=0;i
sum+=days[flag][i];
}
returnsum;
}
5.代码填空(满分2分)
下列方法的目的是,找出1~n之间所有的平方数。
试补全缺失的代码。
当n=10时,输出结果是:
149
当n=100时,输出结果是:
149162536496481
publicstaticvoidshowSqure(intn)
{
for(inti=0;i
{
for(intj=1;j<=i;j++)
{
if(i==___j*j__________)System.out.print(i+"");
}
}.
System.out.println();
}
6.代码填空(满分9分)
(a+b)的n次幂的.展开式中各项的系数很有规律,对于n=2,3,4时分别是:
121,1331,14641。
这些系数构成了著名的杨辉三角形:
1
11
121
1331
14641
15101051
下列的程序给出了计算第m层的第n个系数的计算方法,试完善之(m,n都从0算起)。
publicstaticintf(intm,intn)
{
if(m==0)return1;
if(n==0||n==m)return1;
returnf(m-1,n-1)+f(m-1,n);
}
7.代码填空(满分4分)
下面的代码将数组中的元素的位置颠倒过来:
比如:
原来的元素是[1,2,3]
则颠倒后变为:
[3,2,1]
publicstaticvoidreverse(int[]arrs)
{
for(inti=0,j=arrs.length-1;i<____j_____;i++,j--)
{
inttemp=arrs[i];
arrs[i]=arrs[j];
arrs[j]=temp;
}
}
8.程序设计(满分15分)
从键盘输入一个整数(1~20)
则以该数字为矩阵的大小,把1,2,3…n*n的数字按照顺时针螺旋的形式填入其中。
例如:
输入数字2,则程序输出:
12
43
输入数字3,则程序输出:
123
894
765
输入数字4,则程序输出:
1234
1213145
1116156
10987
importjava.util.Scanner;
publicclassTest8{
publicstaticvoidmain(String[]args){
intnum=1;
intcirCle[][]=newint[20][20];
intinputNum;
inti,j,line,t;
System.out.println("请输入一个正整数");
Scannerin=newScanner(System.in);
inputNum=in.nextInt();
line=inputNum;
for(t=0;t for(i=t,j=t;j cirCle[i][j]=num; num++; } for(j=j-1,i=i+1;i cirCle[i][j]=num; num++; } for(j=j-1,i=i-1;j>=t;j--){ cirCle[i][j]=num; num++; } for(j=j+1,i=i-1;i>t;i--){ cirCle[i][j]=num; num++; } } for(intm=0;m for(intn=0;n System.out.print(cirCle[m][n]+""); } System.out.println(); } } } 9.程序设计(满分9分) 从键盘输入一个日期,格式为yyyy-M-d 要求计算该日期与1949年10月1日距离多少天 例如: 用户输入了: 1949-10-2 程序输出: 1 用户输入了: 1949-11-1 程序输出: 31 importjava.text.ParseException; importjava.text.SimpleDateFormat; importjava.util.Date; importjava.util.Scanner; publicclassTest{ publicstaticvoidmain(String[]args){ SimpleDateFormatsf=newSimpleDateFormat("yyyy-MM-dd"); Dated=newDate(); Stringd1="1949-10-1"; Datea=newDate(); System.out.println("请输入一个日期以(YYYY-MM-DD)格式输入: "); Scannersc=newScanner(System.in); Strings=sc.nextLine(); try{ d=sf.parse(d1); a=sf.parse(s); }catch(ParseExceptione1){ e1.printStackTrace(); } longx=a.getTime()-d.getTime(); System.out.println(x/1000/(24*60*60)); } } 10.程序设计(满分20分) 任意一个5位数,比如: 34256,把它的各位数字打乱,重新排列,可以得到一个最大的数: 65432,一个最小的数23456。 求这两个数字的差,得: 41976,把这个数字再次重复上述过程(如果不足5位,则前边补0)。 如此往复,数字会落入某个循环圈(称为数字黑洞)。 比如,刚才的数字会落入: [82962,75933,63954,61974]这个循环圈。 请编写程序,找到5位数所有可能的循环圈,并输出,每个循环圈占1行。 其中5位数全都相同则循环圈为[0],这个可以不考虑。 循环圈的输出格式仿照: [82962,75933,63954,61974] 其中数字的先后顺序可以不考虑。 importjava.util.Arrays; publicclassMyTest{ publicstaticvoidmain(Stringargs[]){ intf=Sort(array(34256)); intx=Sort(array(34256)); for(inti=0;i<4;i++){ x=Sort(array(x)); System.out.print(x+""); } } staticint[]array(intn){ inta[]=newint[5]; inti=0; intm=n; while(i<5){ a[i]=m%10; if(m%10==0) a[i]=0; m/=10; i++; } returna; } staticintSort(inta[]){ Arrays.sort(a); Stringmin=""; for(inti=0;i<5;i++){ min=min+String.valueOf(a[i]); } intMin=Integer.parseInt(min); StringBuffersb=newStringBuffer(min).reverse(); Stringmax=newStringBuffer(sb).toString(); intMax=Integer.parseInt(max); intc=Max-Min; returnc; } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 模拟 试题