代码一些

1.Scamner 获得一组数据的最大值和平均

public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
double sum = 0;
int m = 0;
while (scanner.hasNextDouble()){
double x = scanner.nextDouble();
sum = sum + x;
m++;

}
System.out.println(m+"个数的和为"+sum);
System.out.println(m+"个数的平均值为"+(sum/m));
scanner.close();

}

2.实现if多选择结构的持续输入(反馈成绩合格与否)

package com;

import java.util.Scanner;

public class Test {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (true){
int s = scanner.nextInt();
if (s>=60&s<=100){
System.out.println("成绩合格");
}else if(s>=0&s<60){
System.out.println("成绩不合格");
}else{
System.out.println("成绩不合法");
}
}

}

}


3.Switch选择结构(匹配后输出不同结果) (记得加上break,避免case穿透现象)
package com;

public class Test {
public static void main(String[] args) {
char grade = 'A';
switch (grade){
case 'A':
System.out.println("优秀");
break;
case 'B':
System.out.println("良好");
break;
case 'C':
System.out.println("及格");
break;
case 'D':
System.out.println("还需努力");
break;
default:
System.out.println("输入错误,无法匹配");
}

}

}

4.While循环 (计算1+2+3+...+100=?)
package com;

public class Test {
public static void main(String[] args) {
int i =1;
int sum = 0;
while (i<=100){
sum += i;
i++;

}
System.out.println(sum);

}

}
注意:i++的位置,位于sum += i;上方则整体大100



5.do while循环和while循环区别之 do while至少执行一次 (多次执行结果相同)





6.For循环(分别计算0到100奇数的和与偶数的和)
package com;

public class Test {
public static void main(String[] args) {
int oddSum = 0 ;
int evenSum = 0 ;

for (int i = 0; i <= 100; i++) {
if (i%2==0){
evenSum += i;
}else {
oddSum += i;
}
}
System.out.println(oddSum);
System.out.println(evenSum);

}

}

7.for循环输出1-1000之间能被5整除的数,并且每行输出3个
package com;

public class Test {
public static void main(String[] args) {
for (int i = 1; i <= 1000; i++) {
if (i%5==0){
System.out.print(i+" ");
if(i%15==0){
System.out.println(" ");
}
}
}

}

}


8.打印九九乘法表

 


9.增强for循环

 


 

10.break      (break会中止循环,但不会结束程序)

 


 

 11.continue  (跳过某条件下的部分循环,继续判断其他条件及进行相关循环)

 


 

 

 

12.continue outer (打印100~150之间的质数)

 


“质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。” 注意:因定义及0无法作为被除数,所以j从2开始赋值


13.打印三角形

 


 (我们无法跳过某一行某一列,但我们可以在某一行某一列输出"空白")



14. 调用比大小方法

 


 return会终止方法


15.可变参数
a.

 


 b.可变参数选出最大值

 

 

 

16.递归(阶的计算)



17.输出多维数组

 


 


18.手写和Arrays类自带工具类 比较

 

 

 

 

19.冒泡排序         

 

 

boolean 优化 

理解 两个-1的真正含义

 

 

20.稀疏数组

已知一个11*11的数组和两个非零值,输出稀疏数组

package com;


import java.util.Arrays;

public class Test {
public static void main(String[] args) {
int[][] array1 = new int[11][11]; //原数组
array1[1][2] = 1;
array1[2][3] = 2;
for (int i = 0; i < 11; i++) {
for (int j = 0; j <11; j++) {
System.out.print(array1[i][j]+"\t");
}
System.out.println();
}
int sum = 0;
for (int i = 0; i <11 ; i++) {
for (int j = 0; j <11 ; j++) {
if (array1[i][j]!=0){
sum++;
}
}
}
int[][] array2 =new int[sum+1][3];
array2[0][0] = 11;
array2[0][1] = 11;
array2[0][2] = sum;
int count = 0;
for (int i = 0; i < 11; i++) {
for (int j = 0; j < 11; j++) {
if (array1[i][j]!=0){
count++;
array2[count][0] = i;
array2[count][1] = j;
array2[count][2] = array1[i][j];
}
}
}
for (int i = 0; i < array2.length; i++) {
System.out.println(array2[i][0]+"\t"+array2[i][1]+"\t"+array2[i][2]);//输出稀疏数组

}
int[][]array3 = new int[array2[0][0]][array2[0][1]];
for (int i = 1; i < array2.length; i++) { //根据array2对array3进行赋值
array3[array2[i][0]][array2[i][1]] = array2[i][2];
}
for (int i = 0; i < array3.length; i++) {
for (int j = 0; j < array3[i].length; j++) {
System.out.print(array3[i][j]+"\t");//还原输出稀疏数组
}
System.out.println();
}


}


}

 

 

 

 


 

 

 


 

 
posted @ 2022-06-03 18:51  蜗牛+1  阅读(23)  评论(0编辑  收藏  举报