__________今天做课后练习题,加油,如果有错,请指正,谢谢了______________________________________
第一题:
public class Task14{
public static void main(String args[]){
System.out.println("1!+2!+3!+...+30! 的值为: " + fun(30));
}
public static double fun(int a){
double sum = 0;
int temp = 1;
for(int i=1;i<=a;i++){
temp = temp*i;
sum = sum + temp;
}
return sum;
}
}
第二题:
public class Task15{
public static void main(String args[]){
int score[] = {1,2,3,4,5,6,7,8,9,0,1,5,2,3};
fun(score);
}
public static void fun(int x[]){
int j = 0;
int o = 0;
for(int i=0;i
if(x[i]%2==1){
j++;
}else{
o++;
}
}
System.out.println("此数组中奇数个数为: " + j);
System.out.println("此数组中偶数个数为: " + o);
}
}
第三题:
public class Task14{
public static void main(String args[]){
int oldArr[] = {1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5};
int a = 0; //定义变量,用来计算0的个数
for(int i=0;i
if(oldArr[i]==0){
a++;
}
}
int newArr[] = new int[oldArr.length-a];
int b = 0; //定义变量,用来表示newArr数组的下标值
for(int i=0;i
if(oldArr[i]!=0){
newArr[b] = oldArr[i];
b++;
}
}
System.out.print("新数组 newArr 的值为: ");
for(int i=0;i
System.out.print(newArr[i] + " ");
}
}
}
第四题:
public class Task15{
public static void main(String args[]){
int arr[] = {1,223,45,66,22,5,6,8,75};
int sum = 0; //定义变量,用来接收数组元素之和
int max = 0; //定义变量,求最大值
int min = 0; //定义变量,求最小值
max = min = arr[0];
for(int i=0;i
sum += arr[i];
}
for(int i=0;i
if(arr[i]>max){
max = arr[i];
}
}
for(int i=0;i
if(arr[i]
min = arr[i];
}
}
System.out.println("数组元素的和为: " + sum + "\n" + "最大值 max ="
+ max + "\n" + "最小值 min =" + min);
}
}
第五题:
public class Task16{
public static void main(String args[]){
int arr[] = {23,13,45,64,234,43,63,443,424,56};
int s = 0;
int a =1; //定义变量,用来接收任意数,作判断对象
for(int i=0;i
if(arr[i]==a){
System.out.println(a + "在这10个数当中.");
}else{
s++;
}
}
if(s==10){
System.out.println(a + "不在这10个数当中.");
}
}
}
第五题(第二解):
public class Task16{
public static void main(String args[]){
int arr[] = {23,13,45,64,234,43,63,443,424,56};
int a =7; //定义变量,用来接收任意数,作判断对象
for(int i=0;i
if(arr[i]==a){
System.out.println(a + "在这10个数当中.");
break;
}
if(i==arr.length){
System.out.println(a + "不在这10个数当中.");
}
}
}
}
第六题:(三种方法)
public class Task17{
public static void main(String args[]){
int arr[] = new int[10];
System.out.print("数组 arr = ");
for(int i=0;i
arr[i] = i;
System.out.print(arr[i] + " ");
}
System.out.print("将数组 arr 首尾交换后 = ");
/*
int arrNew[] = new int[arr.length];
for(int i=0;i
arrNew[i] = arr[arr.length-i];
System.out.print(arrNew[i] + " ");
}
*/
/*
for(int i=0;i
int temp = arr[i];
arr[i] = arr[arr.length-i-1];
arr[arr.length-i-1] = temp;
}
for(int i=0;i
System.out.print(arr[i] + " ");
}
*/
for(int i=arr.length-1;i>=0;i--){
System.out.print(arr[i] + " ");
}
}
}
第七题,求数组最大值(略)
第八题:
public class Task18{
public static void main(String args[]){
int arr[] = {1,2,5,6,8,9,4,3,5,6,7,8,4,5,6,7,8,9,4,8,9,0,7,6,5,4,3,6,0,9};
int cArr[] = new int [10];
for(int i=0;i
switch(arr[i]){
case 0:{
cArr[0]++;
break;
}
case 1:{
cArr[1]++;
break;
}
case 2:{
cArr[2]++;
break;
}
case 3:{
cArr[3]++;
break;
}
case 4:{
cArr[4]++;
break;
}
case 5:{
cArr[5]++;
break;
}
case 6:{
cArr[6]++;
break;
}
case 7:{
cArr[7]++;
break;
}
case 8:{
cArr[8]++;
break;
}
case 9:{
cArr[9]++;
break;
}
}
}
for(int i=0;i
System.out.println("在这30个数中" + i + "出现了 " + cArr[i] + " 次.");
}
}
}
第九题:
public class Task19{
public static void main(String args[]){
int arr[] = {12,432,435,3123,54,123,767,878,989,234};
fun(arr);
}
public static void fun(int x[]){
for(int i=0;i
if(x[i]>x[0]){
int temp = x[0];
x[0] = x[i];
x[i] = temp;
}
}
System.out.println("将数组中的最大值保存在第一个元素其值为: " + x[0]);
}
}
第十题:
public class Task21{
public static void main(String args[]){
int oldArr[] = {1,2,3,4,5,6,7,8,9};
int a = 99;
int xb = 0;
int newArr[] = new int[oldArr.length+1];
for(int i=0;i
if(i==oldArr.length-1){
newArr[newArr.length-1] = a;
newArr[i] = oldArr[i];
}else{
if(a>=oldArr[i]&&a
newArr[xb] = a;
xb++;
}
newArr[xb] = oldArr[i];
xb++;
}
}
for(int i=0;i
System.out.print(newArr[i] + " ");
}
}
}
___________________________________________做了一天...._____________________总算完成了.........