【JavaSE_第一周】练习题总结
生活随笔
收集整理的這篇文章主要介紹了
【JavaSE_第一周】练习题总结
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
第一周練習(xí)總結(jié)
說明:盡量采用多種做法解決
1.使用三種方法實現(xiàn)變量交換
2.設(shè)計一個實驗證明&和&&的區(qū)別
public class Test2Prove{public static void main(String[] args){//設(shè)計一個實驗證明&和&&的區(qū)別//方法一:使用自增自減實現(xiàn)int a=2;int b=3;//若后面運算了,那么a應(yīng)該為3,若為2,說明未運算System.out.println(a>b&&a++>b);System.out.println(a);//若后面運算了,那么b應(yīng)該為4,若為3,說明未運算System.out.println(a>b&a>b++);System.out.println(b);//方法二:用分母不為0做//若后面運行則會報錯:Exception in thread "main" java.lang.ArithmeticException: / by zero,意思是分母不能為0//若后面不運行,則不會報錯System.out.println(1>2&&2>(5/0));System.out.println(1>2&2>(5/0));} }3.從鍵盤錄入輸入3 個數(shù)a,b,c,按從大到小進(jìn)行輸出
public class Test3Sort{public static void main(String[] args){//3.從鍵盤錄入輸入3 個數(shù)a,b,c,按從大到小進(jìn)行輸出int a=3,b=6,c=5;//方法一:int max=a>b?a:b;max=max>c?max:c;int min=a<b?a:b;min=min<c?min:c;//獲取mid方法一/*int mid=(a+b+c)-max-min;*///獲取mid方法二int mid;if(a<max&&a>min){mid=a;}else{mid=(b<max&&b>min)?b:c;}System.out.println("a,b,c三個數(shù)由大到小排列為:"+max+" "+mid+" "+min);//方法二:不需要定義三個變量,但過程復(fù)雜,窮舉法if(a>=b){if(b>=c){//a>=b b>=cSystem.out.println("三個數(shù)從大到小排列:"+a+" "+b+" "+c);}else{//a>=b c>=bif(a>=c){System.out.println("三個數(shù)從大到小排列:"+a+" "+c+" "+b);}else{//a>=b c>=aSystem.out.println("三個數(shù)從大到小排列:"+c+" "+a+" "+b);}}}else{//b>=aif(a>=c){//b>=a a>=cSystem.out.println("三個數(shù)從大到小排列:"+b+" "+a+" "+c);}else{//b>=a c>=aif(b>=c){//b>=c c>=aSystem.out.println("三個數(shù)從大到小排列:"+b+" "+c+" "+a);}else{//c>=b c>=a b>=aSystem.out.println("三個數(shù)從大到小排列:"+c+" "+b+" "+a);}}}//方法二改版:最外層先獲取最大值,第二層再獲取第二大值,更好理解,窮舉法if(a>=b&&a>=c){if(b>=c){System.out.println("三個數(shù)從大到小排列:"+a+" "+b+" "+c);}else{System.out.println("三個數(shù)從大到小排列:"+a+" "+c+" "+b);}}else if(b>=a&&b>=c){if(a>=c){System.out.println("三個數(shù)從大到小排列:"+b+" "+a+" "+c);}else{System.out.println("三個數(shù)從大到小排列:"+b+" "+c+" "+a);}}else{if(a>=b){System.out.println("三個數(shù)從大到小排列:"+c+" "+a+" "+b);}else{System.out.println("三個數(shù)從大到小排列:"+c+" "+b+" "+a);}}} }4.模擬ATM取款機(jī)的三次密碼校驗,當(dāng)天達(dá)到3次輸入密碼錯誤,則提示“賬號被凍結(jié)”,其他情況則提示還有多少次輸入機(jī)會
注意:如果3次均輸錯,提示:賬號已被凍結(jié)
如果1次或2次輸錯后退出,提示:歡迎下次再來
如果輸對了密碼,提示:隨便取款
5.做一個剪刀石頭布的對戰(zhàn)小程序
import java.util.*;public class Test5Game{public static void main(String[] args){//5.做一個剪刀石頭布的對戰(zhàn)小程序Scanner input=new Scanner(System.in);System.out.println("經(jīng)典游戲:剪刀石頭布");System.out.println("游戲規(guī)則:1代表剪刀,2代表石頭,3代表布");int computer=(int)(Math.random()*3)+1;//問題核心:剪刀與布的比較//方法一:窮舉法System.out.println("請出拳:");int me=input.nextInt();switch(me){case 1:if(computer==1){System.out.println("你們戰(zhàn)平了,電腦出的剪刀!");}else if(computer==2){System.out.println("你輸了,電腦出的石頭!");}else{System.out.println("你贏了,電腦出的布!");}break;case 2:if(computer==1){System.out.println("你贏了,電腦出的剪刀!");}else if(computer==2){System.out.println("你們戰(zhàn)平了,電腦出的石頭!");}else{System.out.println("你輸了,電腦出的布!");}break;case 3:if(computer==1){System.out.println("你輸了,電腦出的剪刀!");}else if(computer==2){System.out.println("你贏了,電腦出的石頭!");}else{System.out.println("你們戰(zhàn)平了,電腦出的布!");}break;}//方法二if(computer==1&&me==3||computer==3&&me==1){if(computer==1&&me==3){System.out.println("你輸了,電腦出的"+computer+"!");}else{System.out.println("你贏了,電腦出的"+computer+"!");}}else if(computer==me){System.out.println("你戰(zhàn)平了,你們出的一樣!");}else{if(computer<me){System.out.println("你贏了,電腦出的"+computer+"!");}else{System.out.println("你輸了,電腦出的"+computer+"!");}}} }6.素數(shù)也叫質(zhì)數(shù).是除了1和其本身,不能被其他正整數(shù)整除的正整數(shù).1不是素數(shù).
a)例如:2,3,5,7,11,13,17,19,23…
a)寫一個方法判斷該數(shù)是否為素數(shù)(設(shè)計成一個方法 返回類型boolean)
b)輸出某個范圍內(nèi)的所有素數(shù),比如100-200之間。
7.數(shù)組的查找(兩種:普通法,二分法);.數(shù)組排序(兩種:冒泡排序,選擇排序)
import java.util.Arrays; public class Test6Search{public static void main(String[] args){//7.數(shù)組的查找(兩種:普通法,二分法)int[] arr={2,6,1,5,9,23};int num=6;//普通法查找for(int i=0;i<arr.length;i++){if(num==arr[i]){System.out.println("要查詢的數(shù)"+num+"是數(shù)組中的第"+(i+1)+"個");}}//二分法查找:必須是有序數(shù)組//8.數(shù)組排序(兩種:冒泡排序,選擇排序)//冒泡排序/*for(int j=0;j<arr.length-1;j++){for(int i=0;i<arr.length-1-j;i++){if(arr[i]>arr[i+1]){arr[i]=arr[i+1]+arr[i];arr[i+1]=arr[i]-arr[i+1];arr[i]=arr[i]-arr[i+1];}}}*///二分法查找int max=arr.length-1;int min=0;int mid=(max+min)/2;for(int i=1;i<arr.length;i++){if(arr[mid]==num){System.out.println("要查詢的數(shù)"+num+"是數(shù)組中的第"+(mid+1)+"個");break;}else if(arr[mid]>num){max=mid-1; }else{min=mid+1;}mid=(max+min)/2;}//選擇排序/*for(int j=0;j<arr.length-1;j++){int index=j;for(int i=j+1;i<arr.length;i++){if(arr[index]>arr[i]){index=i;}}int temp=arr[j];arr[j]=arr[index];arr[index]=temp;}*/System.out.println(Arrays.toString(arr));} }總結(jié)
以上是生活随笔為你收集整理的【JavaSE_第一周】练习题总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【JavaSE_06】Java中的数组(
- 下一篇: 三种编程命名规则(匈牙利法,小驼峰法,大