java基础知识第十二天

1.基础语法练习之打印回文数

打印五位数中所有的回文数;回文数例,12321,个位与万位相同,十位与千位相同。

分析:(1):用for循环实现五位数的遍历

        (2):获取个位,十位,千位,万位的数据

                        假设一个数x;

                           个位:x%10

                            十位:x/10%10

                            千位:x/10/10%10

                            万位:x/10/10/10/10%10

(3):根据条件判断,然后输出

        //打印五位数中的所有回文数

public class HuiWenShu {

public static void main(String[] args) {

for(int x =10000;x<=99999;x++){

int a=x%10;

int b=x/10%10;

int c=x/10/10/10%10;

int d=x/10/10/10/10%10;

if(a==d && b==c){

System.out.println("x:"+x);

}

}

}

}

2.基础语法练习之不死兔子

有一对兔子,从出生后第三个月起每个月都生一对兔子,小兔子涨到第三个月后又生一对兔子,假如兔子都不死,问第20个月有多少对兔子。

分析:(1).由于数据过多,首先定义数组 int[ ] arr = new  int[20];

(2).给元素赋值

arr【0】=1;

arr【1】=1;

(3).规律

arr【2】=arr【1】+arr【0】

arr【3】=arr【2】+arr【1】

arr【4】=arr【3】+arr【2】

..........

arr【19】=arr【18】+arr【17】

代码如下:有两个方法完成

public class BuSi_TuZi {

/*public static void main(String[] args) {

int[] arr = new int[20];

arr[0] = 1;

arr[1] = 1;

for(int x =2;x

arr[x]=arr[x-1]+arr[x-2];

}

System.out.println("第二十个月的兔子:"+arr[19]);

}

*/

public static void main(String[] args) {

int a=1;

int b=1;

int c=0;    //兔子个数

for(int x=3;x<=20;x++){

c=a+b;

a=b;

b=c;

}

System.out.println("20个月兔子"+c);

}

}

3.基础语法练习之求和满足条件的数组元素

定义一个int类型的一维数组,内容为{171,72,19,16,118,51,210,7,18}

求出该数组内满足下列条件的和:求和的元素个位十位不能包含7,并且只能是偶数

分析:

(1).定义一个int类型的一维数组

(2).定义一个求和变量

(3).遍历数组,获取每个元素

(4).判断该元素是否满条件,满足就累加

(5).输出结果

代码如下:

//定义一个int类型的一维数组,内容是{171,72,19,16,118,51,210,7,18}

//求出满足要求的数组元素的和:求和的元素个位和十位不能包含7,并且只能是偶数。

public class GetSum_ShuZu {

public static void main(String[] args) {

//定义数组

int [] arr= {171,72,19,16,118,51,210,7,18};

//定义求和变量

int sum = 0;

//遍历数组

for(int x=0;x

//判断条件

if((arr[x]%10!=7) && (arr[x]/10%10!=7) && (arr[x]%2==0)){

sum+=arr[x];

}

}

System.out.println(sum);

}

}

4.基础语法练习之评委打分

在比赛中有六个评委为参赛者打分,分数为0到100之间的整数分,选手最后得分是去掉一个最高分去掉一个最低分后的四个评委平均值。

分析:

(1).定义一个长度为6的数组

(2).键盘录入评委的分数

(3).写方法实现获取最高分和最低分

(4).写方法实现求评委的分数和

(5).平均分=(和-最大值-最小值)/(arr.length-2)

(6).输出结果

            //评委打分

import java.util.Scanner;

public class Ping_Wei {

public static void main(String[] args) {

//定义一个数组

int [] arr = new int [6];

//创建键盘录入对象

Scanner sc = new Scanner(System.in);

//录入评委数据

for(int x=0;x

//接收数据

System.out.println("请输入第"+(x+1)+"个评委的分数");

int score=sc.nextInt();

arr[x]=score;

}

//调用最大值方法

int max=GetMax(arr);

//调用最小值方法

int min = GetMin(arr);

//调用求和的方法

int sum = GetSum(arr);

//求平均分

int avg = (sum-max-min)/(arr.length-2);

System.out.println("最终得分:"+avg);

}

//方法实现获取最小值

public static int GetMin(int[] arr){

//选取参照物

int min = arr[0];

for(int x=1;x

if(min>arr[x]){

min=arr[x];

}

}

return min;

}

//方法实现获取最大值

public static int GetMax(int[] arr){

//选取参照物

int max = arr[0];

for(int x=1;x

if(max

max=arr[x];

}

}

return max;

}

//方法计算评委的分数和

public static int GetSum(int[]arr){

int sum = 0;

for(int x=0;x

sum+=arr[x];

}

return sum;

}

}

你可能感兴趣的:(java基础知识第十二天)