題目:取一個(gè)整數(shù)a從右端開(kāi)始的4~7位。
分析:比如取123456789從右端開(kāi)始的4~7位即:3456
?
1 package test50; 2 /* 3 * 題目:取一個(gè)整數(shù)a從右端開(kāi)始的4~7位。 4 * 分析:比如取123456789從右端開(kāi)始的4~7位即:6543 5 */ 6 public class test32 { 7 8 public static void main(String[] args) { 9 long num=123456789;10 quzhi(num);11 }12 13 public static void quzhi(long number){14 String s =Long.toString(number);//將Long型轉(zhuǎn)化成字符串15 char[] arr=s.toCharArray();//將字符串轉(zhuǎn)化成數(shù)組16 if(arr.length<7){17 System.out.print("輸入整數(shù)不滿足條件");18 }19 for(int i=arr.length-4;i>=arr.length-7;i--){20 System.out.print(arr[i] " ");21 }22 }23 }
?
題目:打印出楊輝三角形(要求打印出10行如下圖)
1 package test50; 2 /* 3 * %4d代表在4個(gè)空格內(nèi)打印數(shù)字。我們選擇4,因?yàn)槲覀冎?0行楊輝三角形的最大數(shù)字的最大位數(shù)是3位數(shù)。 4 * System.out.format("$s: %s%n", "fefe","fwefrr"); 5 "$s: %s%n"的解釋?zhuān)?6 $s:表示輸出24個(gè)空格,s為替換的字符串 7 %s:表示字符串,即替換的內(nèi)容 8 %n:表示換行 9 */10 public class test33 {11 12 public static void main(String[] args) {13 int rows = 10;14 for(int i =0;i<rows;i ) {15 int number = 1;16 //打印空格字符串17 System.out.format("%" (rows-i)*2 "s","");18 for(int j=0;j<=i;j ) {//打印每一行得數(shù)字19 System.out.format("M",number);//打印當(dāng)前數(shù)字20 number = number * (i - j) / (j 1);//計(jì)算下一位數(shù)字21 }22 System.out.println();//換行23 }24 }25 }
?
?
略
題目:輸入數(shù)組,最大的與第一個(gè)元素交換,最小的與最后一個(gè)元素交換,輸出數(shù)組。
分析: 例如輸入6 4 8 3 9 7
交換后輸出9 4 8 7 6 3
1 package test50; 2 3 import java.util.Scanner; 4 5 /* 6 * 題目:輸入數(shù)組,最大的與第一個(gè)元素交換,最小的與最后一個(gè)元素交換,輸出數(shù)組。 7 * 分析: 例如輸入6 4 8 3 9 7 8 * 交換后輸出9 4 8 7 6 3 9 */10 public class test35 {11 public static void main(String[] args) {12 // TODO Auto-generated method stub13 Scanner input=new Scanner(System.in);14 System.out.println("請(qǐng)輸入數(shù)組元素個(gè)數(shù):");15 int num=input.nextInt();16 System.out.print("請(qǐng)輸入數(shù)組:");17 int[] arr=new int[num];18 for(int i =0;i<num;i ) {19 arr[i]=input.nextInt();20 }21 input.close();22 arrchange(arr);23 }24 25 public static void arrchange(int[] arr){26 int temp=0;27 int max=arr[0]; int min=arr[0];28 int maxIndex=0; int minIndex=0;29 //找出原數(shù)組arr的最大值、最小值位置30 for(int i =0;i<arr.length;i ){31 if(max<arr[i]){//找到數(shù)組的最大值索引32 max=arr[i];33 maxIndex=i;34 }35 if(min>arr[i]){//找到數(shù)組的最小值索引36 min=arr[i];37 minIndex=i;38 }39 }40 if(arr[0]!=max){//如果最大值不是第一個(gè)41 arr[maxIndex]=arr[0];42 arr[0]=max;43 }44 if(arr[arr.length-1]!=min){//如果最小值不是最后一個(gè)45 arr[minIndex]=arr[arr.length-1];46 arr[arr.length-1]=min;47 }48 for(int k=0;k<arr.length;k ){49 System.out.print(arr[k] " ");50 }51 }52 53 }
?
題目:有n個(gè)整數(shù),使其前面各數(shù)順序向后移m個(gè)位置,最后m個(gè)數(shù)變成最前面的m個(gè)數(shù)分析:比如有4個(gè)數(shù)n=4;1 2 3 4各個(gè)數(shù)向后移動(dòng)2位m=2,變?yōu)? 1 2 3 4將最后m個(gè)數(shù),即將最后2個(gè)數(shù)變成前面的2個(gè)數(shù)變?yōu)? 4 1 2
1 package test50; 2 /* 3 * 題目:有n個(gè)整數(shù),使其前面各數(shù)順序向后移m個(gè)位置,最后m個(gè)數(shù)變成最前面的m個(gè)數(shù) 4 */ 5 import java.util.Scanner; 6 public class test36 { 7 public static void main(String[] args) { 8 Scanner input = new Scanner(System.in); 9 System.out.println("請(qǐng)輸入數(shù)組的長(zhǎng)度:");//定義數(shù)組長(zhǎng)度10 int num = input.nextInt();11 int [] arr = new int[num];12 System.out.println("請(qǐng)輸入數(shù)組元素:");//鍵入數(shù)組元素13 for (int i = 0; i < num; i ) {14 arr[i] = input.nextInt();15 }16 System.out.println("您輸入的數(shù)組是:");//打印數(shù)組17 for (int j = 0; j < arr.length; j ) {18 System.out.print(arr[j] " " );19 }20 System.out.println("請(qǐng)輸入移動(dòng)的位數(shù):");//獲取移動(dòng)位數(shù)21 int m = input.nextInt();22 int [] arr2 = new int[num]; 23 for (int k = 0; k < m; k ) {//把向前移動(dòng)的轉(zhuǎn)移進(jìn)新數(shù)組24 arr2[k] = arr[num - m k];25 }26 for (int k2 = 0; k2 < num - m; k2 ) {//把向后移的插入到新數(shù)組27 arr2[m k2] = arr[k2];28 }29 System.out.println("移動(dòng)后的數(shù)組為:");30 for (int l = 0; l < arr2.length; l ) {31 System.out.println(arr2[l]);32 }33 }34 }
?
?
* 題目:有n個(gè)人圍成一圈,順序排號(hào)。
* 從第一個(gè)人開(kāi)始報(bào)數(shù)(從1到3報(bào)數(shù)),凡報(bào)到3的人退出圈子,問(wèn)最后留下的是原來(lái)第幾號(hào)的那位。
* 分析:最后留下的是第n號(hào)那位
1 package test50; 2 /* 3 * 題目:有n個(gè)人圍成一圈,順序排號(hào)。 4 * 從第一個(gè)人開(kāi)始報(bào)數(shù)(從1到3報(bào)數(shù)),凡報(bào)到3的人退出圈子,問(wèn)最后留下的是原來(lái)第幾號(hào)的那位。 5 * 分析:最后留下的是第n號(hào)那位 6 */ 7 8 import java.util.Scanner; 9 public class test37 {10 public static void main(String[] args) {11 Scanner input = new Scanner(System.in);12 System.out.println("請(qǐng)輸入總?cè)藬?shù):");//定義數(shù)組長(zhǎng)度13 int num = input.nextInt();14 //定義數(shù)組,用其中的元素標(biāo)記是否已經(jīng)被淘汰,0表示為被淘汰15 int [] arr = new int[num];16 for (int i = 0; i < num; i ) {//初始化數(shù)組元素都是117 arr[i] = 1;18 }19 for (int i = 0; i < arr.length; i ) {20 System.out.println(arr[i]);21 }22 int index = 0;23 int sum = 0;24 while(num > 1 )//用來(lái)控制剩余的人數(shù)25 {26 if (arr[index] == 1) { //第index位置有人報(bào)數(shù),如果arr[index]!= 1,表示index位置的人已經(jīng)退出圈子27 sum ; //有人報(bào)數(shù),sum就要加128 if (sum == 3) {//如果是3,則重新記,從1開(kāi)始29 sum = 0; 30 arr[index] = 0; 31 num-- ;//滿足3個(gè),總?cè)藬?shù)就減132 }33 }34 index ;//指向下一個(gè)位置35 if (index == arr.length) {//如果索引是數(shù)組的長(zhǎng)度,則從0開(kāi)始,(實(shí)際上,索引數(shù)最大為arr.length-1)36 index = 0 ;//實(shí)際上實(shí)現(xiàn)了循環(huán)遍歷。如有人甲乙丙丁戊。當(dāng)index=4時(shí),下一次索引就指向0,讓甲報(bào)數(shù),而甲可能退出圈子,可能還在37 }38 }//while(num > 1 )結(jié)束39 for (int i = 0; i < arr.length; i ) {40 System.out.println(arr[i]);41 }42 for (int i = 0; i < arr.length; i ) {43 if (arr[i] == 1) {44 System.out.println("第" (i 1) "留了下來(lái)");45 }46 }47 }48 }
?
?
?
題目:寫(xiě)一個(gè)函數(shù),求一個(gè)字符串的長(zhǎng)度,在main函數(shù)中輸入字符串,并輸出其長(zhǎng)度。
1 package test50; 2 /* 3 * 題目:寫(xiě)一個(gè)函數(shù),求一個(gè)字符串的長(zhǎng)度,在main函數(shù)中輸入字符串,并輸出其長(zhǎng)度。 4 */ 5 6 import java.util.Scanner; 7 public class test38 { 8 public static void main(String[] args) { 9 Scanner input = new Scanner(System.in);10 System.out.println("請(qǐng)輸入一個(gè)字符串:");11 String str = input.nextLine();12 System.out.println("該字符串的長(zhǎng)度是:" getArrLength(str));13 }14 public static int getArrLength(String str)15 {16 char[] charStr = str.toCharArray();17 return charStr.length;18 }19 }
?
題目:編寫(xiě)一個(gè)函數(shù),輸入n為偶數(shù)時(shí),調(diào)用函數(shù)求1/2 1/4 ... 1/n,當(dāng)輸入n為奇數(shù)時(shí),調(diào)用函數(shù)1/1 1/3 ... 1/n
遞歸如何實(shí)現(xiàn)
1 package test50; 2 3 import java.util.Scanner; 4 5 /* 6 * 編寫(xiě)一個(gè)函數(shù),輸入 n 為偶數(shù)時(shí),調(diào)用函數(shù)求 1/2 1/4 ... 1/n,當(dāng)輸入 n 為奇數(shù)時(shí),調(diào)用函數(shù) 1/1 1/3 ... 1/n 7 */ 8 public class test39 { 9 10 public static void main(String[] args) {11 // TODO Auto-generated method stub12 Scanner input = new Scanner(System.in);13 System.out.println("請(qǐng)輸入一個(gè)數(shù)字:");14 int num = input.nextInt();15 double sum=0.0;16 System.out.println(getsum(num,sum));17 }18 19 public static double getsum(int number,double sum){20 while(number>0){21 sum =(double)1/number;22 number=number-2;23 getsum(number,sum);24 }25 return sum;26 }27 28 29 }
?
程序40
題目:根據(jù)字符串內(nèi)字符的ASCII碼值對(duì)字符串?dāng)?shù)組進(jìn)行排序。
1 package test50; 2 /* 3 * 題目:根據(jù)字符串內(nèi)字符的ASCII碼值對(duì)字符串?dāng)?shù)組進(jìn)行排序。 4 分析:字符串用ASCII碼比較大小,規(guī)則是: 5 1、比較首字母的ASCII碼大小 6 2、若是前面的字母相同,則比較之后的字母的ASCII碼值 7 3、若是一個(gè)字符串從首字母開(kāi)始包含另一個(gè)字符串,則認(rèn)為字符串長(zhǎng)度較長(zhǎng)的大;例 :ab > a 8 備注:Java中String類(lèi)有一個(gè)compareTo方法,該方法返回一個(gè)int類(lèi)型的數(shù)據(jù)。 9 其比較規(guī)則是:拿出字符串的第一個(gè)字符與參數(shù)的第一個(gè)字符進(jìn)行比較,10 如果兩者不等,比較結(jié)束,返回兩者的ascii差,即字符串的第一個(gè)字符減去參數(shù)的第一個(gè)字符的ascii碼值.11 如果相等,則比較第二個(gè)字符,以此類(lèi)推。比較到最后還是相等的,方法返回值為0。12 比如下面的代碼:“abc”.compareTo(“cad”)==-213 這里有一點(diǎn)需要注意:如果兩個(gè)字符串的長(zhǎng)度不同,并且一個(gè)字符串與另一個(gè)字符串的前面N個(gè)字符相等,那么這個(gè)方法返回返回兩個(gè)字符串長(zhǎng)度之差。14 比如下面的代碼:“fa”.compareTo(“f”)==115 */16 17 public class test40 {18 19 public static void main(String[] args) {20 String[] str = {"abc","cad","m","fa","f"};21 for(int i=str.length-1;i>=1;i--){22 for(int j=0;j<=i-1;j ){23 //注意compareTo函數(shù)在這里的作用24 if(str[j].compareTo(str[j 1])<0){25 String temp = str[j];26 str[j] = str[j 1];27 str[j 1] = temp;28 }29 }30 }31 //此處使用了增強(qiáng)for循環(huán)遍歷數(shù)組元素32 for(String subStr:str)//定義了一個(gè)String類(lèi)型的變量接收遍歷后的數(shù)組元素33 System.out.print(subStr " ");//將遍歷后的數(shù)組元素依次輸出34 }35 }
?
?
?
?
題目41:海灘上有一堆桃子,五只猴子來(lái)分。第一只猴子把這堆桃子憑據(jù)分為五份,多了一個(gè),這只猴子把多的一個(gè)扔入海中,拿走了一份。
* 第二只猴子把剩下的桃子又平均分成五份,又多了一個(gè),它同樣把多的一個(gè)扔入海中,拿走了一份,
* 第三、第四、第五只猴子都是這樣做的,問(wèn)海灘上原來(lái)最少有多少個(gè)桃子?
采用遞歸
1 public class Prog41 { 2 public static void main(String[] args) { 3 //第一只猴子分桃時(shí),調(diào)用函數(shù)fun(1)求得桃數(shù) 4 System.out.println("最初海灘上共有" fun(1) "個(gè)桃子"); 5 } 6 //遞歸函數(shù) 7 public static int fun(int i) { 8 if(i==5) { 9 return 6;//輪到第五只猴子分桃時(shí),至少得6個(gè)桃10 }else {11 return fun(i 1)*5 1;12 }13 }14 }15 /*運(yùn)行結(jié)果16 最初海灘上共有3906個(gè)桃子17 */
?
冒泡
1 package test50; 2 /* 3 * 題目:海灘上有一堆桃子,五只猴子來(lái)分。第一只猴子把這堆桃子憑據(jù)分為五份,多了一個(gè),這只猴子把多的一個(gè)扔入海中,拿走了一份。 4 * 第二只猴子把剩下的桃子又平均分成五份,又多了一個(gè),它同樣把多的一個(gè)扔入海中,拿走了一份, 5 * 第三、第四、第五只猴子都是這樣做的,問(wèn)海灘上原來(lái)最少有多少個(gè)桃子? 6 * 分析:求最少的桃子數(shù),則第五個(gè)猴子分桃時(shí),手上一共有6個(gè)桃 7 * 利用遞歸法可求得最初的桃數(shù) 8 */ 9 public class test41 {10 11 public static void main(String[] args) {12 // TODO Auto-generated method stub13 int sum5=6;//求最少的桃子數(shù),則第五個(gè)猴子分桃時(shí),手上一共有6個(gè)桃14 System.out.print("海灘上原來(lái)最少有多少個(gè)桃子:" getsum(sum5));15 16 }17 public static int getsum(int sum){18 for(int i=4;i>=1;i--){19 sum=sum*5 1;20 }21 return sum;22 }23 24 }View Code
?
題目42:809*??=800*?? 9*?? 1其中??代表兩位數(shù),若有這樣得數(shù),求??代表的兩位數(shù)
1 package test50; 2 /* 3 * 809*??=800*?? 9*?? 1其中??代表兩位數(shù),若有這樣得數(shù),求??代表的兩位數(shù) 4 */ 5 public class test42 { 6 7 public static void main(String[] args) { 8 // TODO Auto-generated method stub 9 boolean flag=false;10 int n=0;11 for(int i=10;i<=99;i ){12 if(809*i==800*i 9*i 1){13 flag=true;14 n=i;15 break;16 }17 }18 if(flag){19 System.out.print("有這樣得數(shù):" n);20 }else 21 System.out.print("不存在這樣得數(shù)");22 23 }24 25 }結(jié)果:不存在
?
題目43:求0—7所能組成的奇數(shù)個(gè)數(shù),奇數(shù)中不包含重復(fù)數(shù)字。
1 package test50; 2 /* 3 * 題目:求0—7所能組成的奇數(shù)個(gè)數(shù),奇數(shù)中不包含重復(fù)數(shù)字。 4 */ 5 public class test43 { 6 public static void main(String[] args) { 7 //0-7能組成的所有不重復(fù)的數(shù)的最大值是76543210 8 //0-76543210中所有的奇數(shù)個(gè)數(shù)為76543210/2 9 String[] s=new String[76543210/2];//定義一個(gè)字符串?dāng)?shù)組存儲(chǔ)0-7能組成的所有奇數(shù)10 int n=0;//定義一個(gè)變量為滿足條件的奇數(shù)計(jì)數(shù)11 int count=0;12 //將所有奇數(shù)轉(zhuǎn)換成字符串存入字符串?dāng)?shù)組s中13 for(int i=1;i<=76543210;i ) {14 if((i 1)%2==0) {15 s[n]=String.valueOf(i);16 n ;17 }18 }19 //將所有的字符串?dāng)?shù)組中的元素取出分別存入一個(gè)字符數(shù)組c中20 for(int j=0;j<n;j ) {21 char[] c= s[j].toCharArray();22 outer:for(int k=0;k<c.length;k ) {23 for(int m=1;m<c.length;m ) {24 if(c[k]==c[m]) {//將字符數(shù)組中的每個(gè)元素取出,一旦發(fā)現(xiàn)重復(fù)值退出循環(huán)25 break outer;//一個(gè)break語(yǔ)句只能跳出一個(gè)for循環(huán),因此這里使用 break outer,跳到28行26 }27 }28 count ;//若該字符數(shù)組中不存在重復(fù)的元素,則該奇數(shù)為滿足條件的奇數(shù)29 }30 }31 System.out.println("0-7所能組成的不包含重復(fù)數(shù)字的奇數(shù)個(gè)數(shù)共有:" count "個(gè)");32 }33 }34 /*運(yùn)行結(jié)果35 0-7所能組成的不包含重復(fù)數(shù)字的奇數(shù)個(gè)數(shù)共有:18567220個(gè)36 */View Code
?
題目44:一個(gè)偶數(shù)總能表示為兩個(gè)素?cái)?shù)之和。
1 package test50; 2 3 import java.util.Scanner; 4 5 /* 6 * 題目:一個(gè)偶數(shù)總能表示為兩個(gè)素?cái)?shù)之和。 7 * 分析:一個(gè)偶數(shù)可能會(huì)有不止一對(duì)兩個(gè)素?cái)?shù)之和的情況 8 * 例如:20=3 17 20=7 13 9 10 */11 public class test44 {12 13 public static void main(String[] args) {14 // TODO Auto-generated method stub15 Scanner input=new Scanner(System.in);16 System.out.print("請(qǐng)輸入一個(gè)偶數(shù)num:");17 int num=input.nextInt();18 if(num%2!=0){19 System.out.print("輸入的數(shù)不是偶數(shù)");20 return;21 }22 for(int i=2;i<num;i ){23 if(isPrimeNumber(i) && isPrimeNumber(num-i)){24 System.out.println(num "=" i " " (num-i));25 }26 }27 28 }29 30 public static boolean isPrimeNumber(int n){31 if(n < 2) return false;; 32 for(int i=2;i<=n/2;i ){33 if(n%i==0){34 return false;//不是素?cái)?shù)35 }36 }37 return true;38 }39 40 }
?
?
題目45:判斷一個(gè)素?cái)?shù)能被幾個(gè)9整除
分析:素?cái)?shù)只能被1和其本身整除,不能被9整除,所以返回false
1 import java.util.Scanner; 2 public class Prog45{ 3 public static void main(String[] args){ 4 System.out.print("請(qǐng)輸入一個(gè)素?cái)?shù):"); 5 Scanner scan = new Scanner(System.in); 6 int n=scan.nextInt(); 7 if(!isPrime(n)) { 8 System.out.println("你輸入的不是素?cái)?shù),請(qǐng)重新輸入"); 9 n=scan.nextInt();10 }11 scan.close();12 System.out.println("素?cái)?shù)" n "能被9整除嗎?" zhengchu(n));13 }14 //判斷素?cái)?shù)是否能被9整除15 private static boolean zhengchu(int n) {16 return n%9==0;17 }18 //判斷輸入的數(shù)是否是素?cái)?shù)19 private static boolean isPrime(int n){20 boolean flag = true;21 for(int i=2;i<Math.sqrt(n) 1;i ){22 if(n%i==0){23 flag = false;24 break;25 }26 }27 return flag;28 }29 }30 /*運(yùn)行結(jié)果31 請(qǐng)輸入一個(gè)素?cái)?shù):1132 素?cái)?shù)11能被9整除嗎?false33 */View Code
?
題目:編寫(xiě)一個(gè)兩個(gè)字符串連接的程序
1 package test50; 2 3 import java.util.Scanner; 4 5 /* 6 * 題目:編寫(xiě)一個(gè)兩個(gè)字符串連接的程序 7 */ 8 public class test46 { 9 public static void main(String[] args){10 Scanner input=new Scanner(System.in);11 System.out.print("輸入2個(gè)字符串:");12 String s1=input.nextLine();13 String s2=input.nextLine();14 input.close();15 String s3=s1 s2;16 System.out.print("連接后的字符串:" s3);17 18 }
?
題目:讀取7個(gè)數(shù)(1—50)的整數(shù)值,每讀取一個(gè)值,程序打印出該值個(gè)數(shù)的*。
?
1 package test50; 2 3 import java.util.Scanner; 4 5 /* 6 * 題目:讀取7個(gè)數(shù)(1—50)的整數(shù)值,每讀取一個(gè)值,程序打印出該值個(gè)數(shù)的*。 7 */ 8 public class test47 { 9 public static void main(String[] args){10 System.out.print("請(qǐng)輸入7個(gè)整數(shù)(1-50):");11 Scanner scan = new Scanner(System.in);12 int n1 = scan.nextInt();13 int n2 = scan.nextInt();14 int n3 = scan.nextInt();15 int n4 = scan.nextInt();16 int n5 = scan.nextInt();17 int n6 = scan.nextInt();18 int n7 = scan.nextInt();19 scan.close();20 printStar(n1);21 printStar(n2);22 printStar(n3);23 printStar(n4);24 printStar(n5);25 printStar(n6);26 printStar(n7);27 }28 static void printStar(int m){29 System.out.println(m);30 for(int i=0;i<m;i )31 System.out.print("*");32 System.out.println();33 }34 35 36 }View Code
1 package test50; 2 3 import java.util.Scanner; 4 5 /** 6 * @author VellBibi 7 *【程序47】 TestPrint.java 8 *題目:讀取7個(gè)數(shù)(1—50)的整數(shù)值,每讀取一個(gè)值,程序打印出該值個(gè)數(shù)的*。 9 */10 public class TestPrint {11 12 public static void main(String[] args) {13 Scanner s = new Scanner(System.in);14 int[] a = new int[7];15 for(int i=0; i<7; i ){16 System.out.print("輸入第" (i 1) "個(gè)整數(shù):");17 a[i] = s.nextInt();18 }19 20 for(int i=0; i<7; i ){21 for(int j=0; j<a[i]; j ){22 System.out.print("*");23 }24 System.out.println();25 }26 }27 28 }View Code
?
題目:某個(gè)公司采用公用電話傳遞數(shù)據(jù),數(shù)據(jù)是四位的整數(shù),在傳遞過(guò)程中是加密的,
加密規(guī)則如下:每位數(shù)字都加上5,然后用和除以10的余數(shù)代替該數(shù)字,再將第一位和第四位交換,第二位和第三位交換。
分析:例如原始數(shù)據(jù)是: 6 7 8 9(原始數(shù)據(jù))
每個(gè)數(shù)加上5后為:11 12 13 14
除以10后為: 1 2 3 4
交換位置之后 4 3 2 1(加密后的數(shù)據(jù))
1 package test50; 2 3 import java.util.Scanner; 4 5 /* 6 * 題目:某個(gè)公司采用公用電話傳遞數(shù)據(jù),數(shù)據(jù)是四位的整數(shù),在傳遞過(guò)程中是加密的, 7 * 加密規(guī)則如下:每位數(shù)字都加上5,然后用和除以10的余數(shù)代替該數(shù)字,再將第一位和第四位交換,第二位和第三位交換。 8 * 分析:例如原始數(shù)據(jù)是: 6 7 8 9(原始數(shù)據(jù)) 9 * 每個(gè)數(shù)加上5后為:11 12 13 1410 * 除以10后為: 1 2 3 411 * 交換位置之后 4 3 2 1(加密后的數(shù)據(jù))12 */13 public class test48 {14 15 public static void main(String[] args) {16 // TODO Auto-generated method stub17 int temp=0;18 System.out.println("請(qǐng)輸入0到9間的4個(gè)整數(shù):");19 Scanner scan = new Scanner(System.in);20 int[] arr=new int[4];21 for(int i=0;i<=3;i ){22 arr[i]=scan.nextInt();23 }24 scan.close();25 for(int i=0;i<=3;i ){26 arr[i]=(arr[i] 5);27 }28 //將第一位和第四位交換29 temp=arr[0];30 arr[0]=arr[3];31 arr[3]=temp;32 //第二位和第三位交換33 temp=arr[2];34 arr[2]=arr[1];35 arr[1]=temp;36 37 for(int i=0;i<=3;i ){38 System.out.print(arr[i] " ");39 }40 }41 42 }View Code
?
?
?
題目:計(jì)算首末不含空格各個(gè)子串之間只含一個(gè)空格的字符串中子串出現(xiàn)的次數(shù)
分析:例如輸入的字符串為"I come from County DingYuan Province AnHui."
空格隔斷的即為字符子串,所以上述字符串的子串個(gè)數(shù)有7個(gè)
?
1 package test50; 2 /* 3 * 題目:計(jì)算首末不含空格各個(gè)子串之間只含一個(gè)空格的字符串中子串出現(xiàn)的次數(shù) 4 * 分析:例如輸入的字符串為"I come from County DingYuan Province AnHui." 5 * 空格隔斷的即為字符子串,所以上述字符串的子串個(gè)數(shù)有7個(gè) 6 */ 7 public class test49{ 8 public static void main(String[] args){ 9 String str="I come from County DingYuan Province AnHui.";10 int count=0;11 char[] ch=str.toCharArray();//將字符串轉(zhuǎn)換成字符數(shù)組12 for(int i=0;i<ch.length;i ) {13 if(ch[i]==' ')//計(jì)算字符串中的空格個(gè)數(shù)14 count ;15 }16 count ;//字符串中子串的個(gè)數(shù)=空格數(shù) 117 System.out.println("共有" count "個(gè)字符子串");18 }19 }20 /*運(yùn)行結(jié)果21 共有7個(gè)字符子串22 */
思路:轉(zhuǎn)換成數(shù)組,利用
?if(ch[i]==' ')
計(jì)算空格數(shù)
?
題目:有五個(gè)學(xué)生,每個(gè)學(xué)生有3門(mén)課的成績(jī),從鍵盤(pán)輸入以上數(shù)據(jù)(包括學(xué)生號(hào),姓名,三門(mén)課成績(jī)),計(jì)算出平均成績(jī),將原有的數(shù)據(jù)和計(jì)算出的平均分?jǐn)?shù)存放在磁盤(pán)文件"stud"中。
1 package test50; 2 3 import java.io.*; 4 public class test50{ 5 //定義學(xué)生模型 6 String[] number = new String[5]; 7 String[] name = new String[5]; 8 float[][] grade = new float[5][3]; 9 float[] sum = new float[5];10 public static void main(String[] args) throws Exception{11 test50 stud = new test50();12 stud.input();13 stud.output();14 }15 //輸入學(xué)號(hào)、姓名、成績(jī)16 void input() throws IOException{17 BufferedReader br = new BufferedReader(new InputStreamReader(System.in));18 //錄入狀態(tài)標(biāo)識(shí)19 boolean isRecord = true;20 while(isRecord){21 try{22 for(int i=0;i<5;i ){23 System.out.print("請(qǐng)輸入學(xué)號(hào):");24 number[i] = br.readLine();25 System.out.print("請(qǐng)輸入姓名:");26 name[i] = br.readLine();27 for(int j=0;j<3;j ){28 System.out.print("請(qǐng)輸入第" (j 1) "門(mén)課成績(jī):");29 grade[i][j] = Integer.parseInt(br.readLine());30 }31 System.out.println();32 sum[i] = grade[i][0] grade[i][1] grade[i][2];33 }34 isRecord = false;35 }catch(NumberFormatException e){36 System.out.println("請(qǐng)輸入一個(gè)數(shù)字!");37 }38 }39 }40 //輸出文件41 void output() throws IOException{42 FileWriter fw = new FileWriter("D:\\JavaEE\\Code\\Java基礎(chǔ)50道經(jīng)典練習(xí)題\\src//stud.txt");43 BufferedWriter bw = new BufferedWriter(fw);44 bw.write("No. " "Name " "grade1 " "grade2 " "grade3 " "average");45 bw.newLine();46 for(int i=0;i<5;i ){47 bw.write(number[i]);48 bw.write(" " name[i]);49 for(int j=0;j<3;j )50 bw.write(" " grade[i][j]);51 bw.write(" " (sum[i]/5));52 bw.newLine();53 }54 bw.close();55 }56 }
?
來(lái)源:http://www.icode9.com/content-1-112551.html聯(lián)系客服