Java阶段性测试--第二三大题参考代码
第二大題:
1、打印出所有的 “水仙花數(shù) “,所謂 “水仙花數(shù) “是指一個三位數(shù),其各位數(shù)字立方和等于它本身
package Test1; //1、打印出所有的 "水仙花數(shù) ",所謂 "水仙花數(shù) “是指一個三位數(shù),其各位數(shù)字立方和等(3) public class Test1 {public static void main(String[] args) {System.out.println("水仙花數(shù)如下:");for(int i=100;i<=999;i++){//1---個位數(shù)int a=i%10;//10--十位數(shù)int b=i/10%10;//100--百位數(shù)int c=i/100;if((Math.pow(a, 3)+Math.pow(b, 3)+Math.pow(c, 3))==i){System.out.print(i+",");}}} }運行結(jié)果:
2、利用封裝的思想,編寫程序:
創(chuàng)建一個叫做Person的實體類:
屬性:姓名、年齡、性別
行為:說話、計算加法、改名
創(chuàng)建一個測試類P_Test,在測試類中創(chuàng)建Person類的對象:名叫“張三”,性別“男”,年齡23歲,讓該對象調(diào)用成員方法:說出“Hello”;計算23+78的值;將名字改為“Mike”。
代碼:
Person類
測試類:
package Test1;public class P_Test2 {public static void main(String[] args) {Person person=new Person("張三", 23, "男");//say helloSystem.out.println("say方法運行結(jié)果:");person.say();//23+78int c=person.add(23, 78);System.out.println("求和結(jié)果:"+c);//change nameperson.setName("Mike");System.out.println("改后名字:"+person.getName());} }運行結(jié)果:
第三題大題
【1】請隨機生成10個從5到150之間的數(shù)字(大于等于5小于等于150),將生成的隨機數(shù)存儲在整型數(shù)組中(不考慮重復(fù))
代碼:
package Test2;import java.util.Arrays;public class Test1 {public static void main(String[] args) {int[] arr=new int[10];for(int i=0;i<arr.length;i++){//Math.random()*146+5,獲取隨機數(shù),并進行強轉(zhuǎn)arr[i]=(int)(Math.random()*146+5);}System.out.println("隨機數(shù)組如下:");System.out.println(Arrays.toString(arr));} }運行結(jié)果:
【2】使用冒泡排序?qū)?shù)組中的元素進行降序排列
冒泡排序邏輯:相鄰兩數(shù)進行比較,若前一個元素大,則交換位置,最后實現(xiàn)末尾數(shù)時最大的。
代碼:
package Test2;import java.util.Arrays;//使用冒泡排序?qū)?shù)組中的元素進行降序排列 public class Test2 {public static void main(String[] args) {int[] arr={1,3,8,9,10,5,5,3};System.out.println("未排序時結(jié)果:");System.out.println(Arrays.toString(arr));//冒泡排序for(int i=0;i<arr.length;i++){for(int j=i+1;j<arr.length;j++){if(arr[i]<arr[j]){int temp=arr[i];arr[i]=arr[j];arr[j]=temp;}}}System.out.println("排序后結(jié)果如下:");System.out.println(Arrays.toString(arr));} }運行結(jié)果如下:
【3】有如下一個數(shù)組{11,22,1,33,1,1,44,0,66,1,77,1,1,88}
要求將其中為1的元素值給去掉,通過合適的代碼得到如下的新數(shù)組
{11,22,33,44,0,66,77,88}(數(shù)組長度等于數(shù)據(jù)長度)
代碼:
package Test2;import java.util.Arrays;public class Test3 {public static void main(String[] args) {int[] arr={11,22,1,33,1,1,44,0,66,1,77,1,1,88};//統(tǒng)計非1的個數(shù)int count=0;for (int i : arr) {if(i!=1){count++;}}//newArrint index=0;//存新數(shù)組的下標(biāo)int[] newArr=new int[count];for(int j=0;j<arr.length;j++){if(arr[j]!=1){newArr[index]=arr[j];index++;}}System.out.println("剔除1后的數(shù)組遍歷如下:");System.out.println(Arrays.toString(newArr));} }運行結(jié)果:
總結(jié)
以上是生活随笔為你收集整理的Java阶段性测试--第二三大题参考代码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java阶段性测试--知识点:数组,面向
- 下一篇: java美元兑换,(Java实现) 美元