Java基础练习及代码.docx
- 文档编号:12992327
- 上传时间:2023-06-10
- 格式:DOCX
- 页数:144
- 大小:67.63KB
Java基础练习及代码.docx
《Java基础练习及代码.docx》由会员分享,可在线阅读,更多相关《Java基础练习及代码.docx(144页珍藏版)》请在冰点文库上搜索。
Java基础练习及代码
Java练习及作业代码集
一、第一章
1.制作九九乘法表
publicstaticvoidmain(String[]args){
//九九乘法表
for(intr=1;r<=9;r++){
for(intc=1;c<=r;c++)
{
System.out.print(r+"*"+c+"="+r*c+"\t");
}
System.out.println();
}
//倒三角九九乘法表
for(intr=9;r>=1;r--){
for(intc=1;c<=r;c++)
{
System.out.print(r+"*"+c+"="+r*c+"\t");
}
System.out.println();
}
}
2.从键盘输入
importjava.util.*;
publicclassMyInport{
publicstaticvoidmain(String[]args){
Scannersc=newScanner(System.in);
inti=sc.nextInt();
floatf=sc.nextFloat();
doubled=sc.nextDouble();
System.out.println("i="+i);
System.out.println("f="+f);
System.out.println("d="+d);
}
}
3.判断一个数是否为素数
packagetest;
importjava.util.*;
publicclassSushuTest{
publicstaticvoidmain(String[]args){
Scannersc=newScanner(System.in);
intSs=sc.nextInt();
booleans=true;
for(inti=2;i if(Ss%i==0){ s=false; break; } } if(s==true){ System.out.println("是素数"); }else{ System.out.println("不是素数"); } } } 4.把数字倒着输出 packagetest; importjava.util.*; publicclassDaoxuTest{ publicstaticvoidmain(String[]args){ Scannersc=newScanner(System.in); intsr=sc.nextInt(); while(sr>0) { System.out.print(sr%10); sr=sr/10; } } } 5.水仙花数 packagetest; publicclassSXHS{ publicstaticvoidmain(String[]args){ //TODOAuto-generatedmethodstub System.out.print("水仙花数有: "); for(intsr=100;sr<1000;sr++){ inta=sr%10; intb=sr/10%10; intc=sr/100%10; if(a*a*a+b*b*b+c*c*c==sr){ System.out.print(sr+"\t"); } } } } 6.判断年份是否为闰年 importjava.util.*; publicclassYear{ publicstaticvoidmain(String[]args){ Scannersc=newScanner(System.in); intYear=sc.nextInt(); //1.非整百年数除以4,无余数为闰年 //2.整百年除以400,无余数为闰年 if(Year%4==0&&Year%100! =0||Year%400==0){ System.out.print(Year+"年是闰年"); }else{ System.out.print(Year+"年不是闰年"); } } } 7.输入三边求三角形面积 importjava.util.*; publicclassArea{ publicstaticvoidmain(String[]args){ Scannersc=newScanner(System.in); doublea=sc.nextInt(); doubleb=sc.nextInt(); doublec=sc.nextInt(); if(a+b>c&&a+c>b&&b+c>a){ doubleZc_half=(a+b+c)/2; doubleArea=Math.sqrt(Zc_half*(Zc_half-a)*(Zc_half-b)*(Zc_half-c)); System.out.print("三角形的面积为: "+Area); } else{ System.out.print("无法构成三角形"); }} } 8.一位数加法问答 importjava.util.*; publicclassYWSJF{ publicstaticvoidmain(String[]args){ intnumber1=(int)(Math.random()*10); intnumber2=(int)(Math.random()*10); Scannerinput=newScanner(System.in); System.out.print(number1+"+"+number2+"="); intanswer=input.nextInt(); if(answer==number1+number2) { System.out.println("恭喜你,答对了! "); } else { System.out.println("很遗憾,答错了! ! "); System.out.println(number1+"+"+number2+"="+(number1+number2)); } } } 9.空格和星星 packagemine; publicclassPrintStar{ publicstaticvoidmain(String[]args){ intt=9; for(inti=1;i<=t;i++){ for(intj=1;j<=t-i;j++){ System.out.print(""); } for(intk=1;k<=2*i-1;k++){ System.out.print("*"); } System.out.println(); } for(inti=1;i { for(intj=1;j<=i;j++){ System.out.print(""); } for(intk=2*t-3;k>=2*i-1;k--) { System.out.print("*"); } System.out.println(); } } } 10.Swich语句控制抽牌 packagemine; publicclassa{ publicstaticvoidmain(String[]args){ intcard=(int)(Math.random()*54); Stringsuit="",rank=""; switch(card/13){ case0: suit="黑桃"; break; case1: suit="红桃"; break; case2: suit="方块"; break; case3: suit="梅花"; break; } switch(card%13){ case0: rank="A"; break; case10: rank="J"; break; case11: rank="Q"; break; case12: rank="K"; break; default: rank=""+(card%13+1); } System.out.print("你抽到的牌是: "+suit+""+rank); } } 11.1000以内的完数 packagemine; publicclassWanShu{ publicstaticvoidmain(String[]args){ for(inti=1;i<=1000;i++){ intsum=0; for(intj=1;j if(i%j==0){ sum=sum+j; } } if(sum==i){ System.out.println(i); } } } } 12.形如3+33+333+3333单双重循环练习 importjava.util.*; publicclassTest{ publicstaticvoidmain(String[]args){ //3+33+333 System.out.println("pleaseinputaandn"); Scannersc=newScanner(System.in); inta=sc.nextInt(); intn=sc.nextInt(); //一重循环 intsum1=0; intterm1=0; for(inti=1;i<=n;i++){ term1=term1*10+a; sum1=sum1+term1; } System.out.println("一重循环结果: "+sum1); //二重循环 intsum2=0; for(inti=1;i<=n;i++){ intterm2=0; for(intj=1;j<=i;j++){ term2=term2*10+a; } sum2=sum2+term2; } System.out.println("双重循环结果: "+sum2); } } 13.求一组随机数最大值 packagemine; importjava.util.*; publicclassTest{ publicstaticvoidmain(String[]args){ Randomrad=newRandom(); int[]arr=newint[10]; for(inti=0;i<10;i++){ arr[i]=rad.nextInt(100); System.out.print(arr[i]+""); } System.out.println(); intmax=arr[0]; for(inti=1;i<10;i++){ if(max { max=arr[i]; } } System.out.println("themaxis: "+max); } } 14.随机产生十五个不重复的学号 packageaaa; importjava.util.*; publicclassTest{ publicstaticvoidmain(String[]args){ Randomrad=newRandom(); int[]arr=newint[15];//产生一个数组,把n放入 intk=0;//数组元素的个数 for(inti=0;i<15;i++){ intn=rad.nextInt(47)+1;//产生1-47个学号 booleanb=true; for(intj=0;j { if(n==arr[j]){ b=false; break; } } if(b==true) {//数字有效无重复,输出并放入数组,个数加一 System.out.println(n); arr[k]=n; k++; } else{ i--;//数字重复,则使用i--把此循环无效 } } } } 15.插入排序 importjava.util.*; publicclassTest{ publicstaticvoidmain(String[]args){ //插入排序 Randomrand=newRandom(); int[]arr=newint[10];//放入10个元素 inttemp;//用于保存当前使用的某元素 //生成10个随机数 for(inti=0;i { arr[i]=rand.nextInt(40);//生成0-39内的随机数 System.out.print(arr[i]+""); } System.out.println(); //把数组分成已排序和未排序两部分,进行插入排序 for(inti=1;i<10;i++){ for(intj=i;j>0;j--) {//如20113 temp=arr[j];//保存当前未排序的第一个元素 if(temp arr[j]=arr[j-1]; arr[j-1]=temp; } else { break; } arr[j-1]=temp; } } System.out.println("结果如下: "); //输出结果 for(inti=0;i { System.out.print(arr[i]+""); } } } 16.选择排序 packageaa; importjava.util.Random; publicclassTest{ publicstaticvoidmain(String[]args){ //选择排序 Randomrand=newRandom(); int[]arr=newint[10];//放入10个元素 intminIndex; //生成10个随机数 for(inti=0;i arr[i]=rand.nextInt(40);//生成0-39内的随机数 System.out.print(arr[i]+""); } System.out.println(); for(inti=0;i minIndex=i; //内循环找最小的数的位置 for(intj=i+1;j<=arr.length-1;j++){ if(arr[j] minIndex=j; } } if(minIndex! =i){ intt=arr[i]; arr[i]=arr[minIndex]; arr[minIndex]=t; } } System.out.println("结果如下: "); //输出结果 for(inti=0;i System.out.print(arr[i]+""); } } } 17.从前往后进行冒泡排序 packageaa; importjava.util.Random; publicclassTest{ publicstaticvoidmain(String[]args){ //TODOAuto-generatedmethodstub //冒泡排序 Randomrand=newRandom(); int[]arr=newint[10];//放入10个元素 //生成10个随机数 for(inti=0;i arr[i]=rand.nextInt(40);//生成0-39内的随机数 System.out.print(arr[i]+""); } System.out.println(); for(inti=0;i //内层循环控制第i次,每两个元素,两两比较进行交换 for(intj=0;j { if(arr[j]>arr[j+1]) { intt=arr[j]; arr[j]=arr[j+1]; arr[j+1]=t; } } } System.out.println("结果如下: "); //输出结果 for(inti=0;i System.out.print(arr[i]+""); } } } 18.从后往前进行冒泡排序 importjava.util.*; publicclassTest{ publicstaticvoidmain(String[]args){ //TODOAuto-generatedmethodstub //从后往前冒泡排序 Randomrand=newRandom(); int[]arr=newint[10];//放入10个元素 //生成10个随机数 for(inti=0;i<10;i++){ arr[i]=rand.nextInt(40);//生成0-39内的随机数 System.out.print(arr[i]+""); } System.out.println(); for(inti=0;i //内层循环从最大的下标索引开始两两比较,小的数往前排 for(intj=arr.length-1;j>0;j--){ if(arr[j] intt=arr[j]; arr[j]=arr[j-1]; arr[j-1]=t; } } } System.out.println("结果如下: "); //输出结果 for(inti=0;i<10;i++){ System.out.print(arr[i]+""); } } } 19.冒泡排序(可提前结束排序) importjava.util.*; publicclassTest{ publicstaticvoidmain(String[]args){ Randomrand=newRandom(); int[]arr=newint[10];//放入10个元素 //生成10个随机数 intarr1[]=newint[10]; for(inti=0;i arr[i]=rand.nextInt(40);//生成0-39内的随机数 System.out.print(arr[i]+""); } System.out.println(); //冒泡排序 for(inti=0;i booleanflag=true;//假设已经排好顺序 for(intj=0;j if(arr[j]>arr[j+1]){ //若前后两个元素对调则排序未完成,将flag设为false intt=arr[j];
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 基础 练习 代码