循环结构基础练习
-
写一个计算器,要求实现加减乘除功能,并且能够循环接收新的数据,通过用户交互实现。
public static void main(String[] args) { boolean flag = true; while(flag) { System.out.println("======================================================"); System.out.println("1.加法"); System.out.println("2.减法"); System.out.println("3.乘法"); System.out.println("4.除法"); System.out.println("5.退出"); System.out.println("======================================================"); Scanner sc = new Scanner(System.in); System.out.println("请输入你的选项:" ); int choice = sc.nextInt(); int a; int b; switch (choice){ case 1 : System.out.println("请输入一个整数" ); a = sc.nextInt(); System.out.println("请再输入一个整数" ); b= sc.nextInt(); System.out.println(a+"\t"+"+"+"\t"+b+"\t"+"="+"\t"+add(a,b)); break; case 2 : System.out.println("请输入一个整数" ); a = sc.nextInt(); System.out.println("请再输入一个整数" ); b= sc.nextInt(); System.out.println(a+"\t"+"-"+"\t"+b+"\t"+"="+"\t"+minus(a,b)); break; case 3 : System.out.println("请输入一个整数" ); a = sc.nextInt(); System.out.println("请再输入一个整数" ); b= sc.nextInt(); System.out.println(a+"\t"+"*"+"\t"+b+"\t"+"="+"\t"+multiply(a,b)); break; case 4 : System.out.println("请输入一个整数" ); a = sc.nextInt(); System.out.println("请再输入一个整数" ); b= sc.nextInt(); System.out.println(a+"\t"+"/"+"\t"+b+"\t"+"="+"\t"+divide(a,b)); break; case 5 : flag = false; break; default : System.out.println("您输入的有误,请重新输入!!"); } } } public static int add(int a, int b){ return a+b; } public static int minus(int a, int b){ return a-b; } public static int multiply(int a, int b){ return a*b; } public static int divide(int a, int b){ return a/b; }
-
输出100以内所有的奇数和偶数之和,并5个一行打印出来
int sum1 = 0; int sum2 = 0; for (int i = 1; i <= 100; i++) { if (i%2 == 0){ sum1 += i; }else{ sum2 += i; } } System.out.println("==========1-100之间的所有偶数:=========="); int m = 0; for (int i = 1; i <=100; i++) { if (i%2 == 0) { m++; System.out.print(i+"\t"); if (m%5 == 0){ System.out.print("\n"); } } } System.out.println("==========1-100之间的所有奇数:=========="); int n = 0; for (int i = 0; i <= 100; i++) { if (i%2 != 0) { n++; System.out.print(i+"\t"); if (n%5 == 0){ System.out.print("\n"); } } } System.out.println("1-100之间偶数和为:" + sum1 ); System.out.println("1-100之间奇数和为:" + sum2 ); }
3.打印九九乘法表
for (int i = 1;i <= 9;i++){ for (int j = 1; j <= i; j++) { System.out.print(j + "*" + i + "=" + j*i+"\t"); } System.out.println(); }
4.打印正三角形
for (int m = 0;m < 5;m++){ for (int n = 5; n > m; n--) { System.out.print(" " +"\t"); } for (int n = 0;n <= m;n++){ System.out.print("*" +"\t"); } for (int i = 0; i < m; i++) { System.out.print("*" +"\t"); } System.out.println(); }
稀疏数组练习
5.稀疏数组
//创建二维数组 int[][] array = new int[11][11]; array[1][2] = 1; array[2][3] = 2; //输出原始数组 System.out.println("=============原始数组为============="); for (int j=0;j< array.length;j++) {//遍历每行 for (int i = 0; i < array[j].length; i++) {//遍历每列 System.out.print(array[j][i] + "\t");//打印每列 } System.out.println();//换行 } //创建稀疏数组 //获取原始数组有效值个数 int count = 0; for (int j = 0;j<array.length;j++){ for (int i=0;i<array[j].length;i++){ if (array[j][i] != 0) { count++; } } } System.out.println("原始数组有效值个数 = " + count); //创建数组 int[][] sparsearray = new int[count+1][3]; sparsearray[0][0] = 11;//把数组每行的长度作为稀疏数组第0行0列的值 sparsearray[0][1] = 11;//把数组每列的长度作为稀疏数组第0行1列的值 sparsearray[0][2] = count;//把数组的有效值个数作为稀疏数组第0行2列的值 int num= 0;//计数 for (int j = 0;j<array.length;j++){ for (int i=0;i<array[j].length;i++){ if (array[j][i] != 0) { num++;//计数,即稀疏数组的行数 sparsearray[num][0] = j; sparsearray[num][1] =i; sparsearray[num][2]= array[j][i]; } } } //打印稀疏数组 System.out.println("=============稀疏数组为============="); for (int j=0;j< sparsearray.length;j++) {//遍历每行 for (int i = 0; i < sparsearray[j].length; i++) {//遍历每列 System.out.print(sparsearray[j][i] + "\t");//打印每列 } System.out.println();//换行 } //还原成二维数组 int[][] tdimearray = new int[sparsearray[0][0]][sparsearray[0][1]];//创建数组 // tdimearray[sparsearray[1][0]][sparsearray[1][1]] = sparsearray[1][2]; // tdimearray[sparsearray[2][0]][sparsearray[2][1]] = sparsearray[2][2]; for (int j=1;j< sparsearray.length;j++) {//遍历每行 tdimearray[sparsearray[j][0]][sparsearray[j][1]]= sparsearray[j][2]; } System.out.println("=============还原后数组为============="); for (int j=0;j< tdimearray.length;j++) {//遍历每行 for (int i = 0; i < tdimearray[j].length; i++) {//遍历每列 System.out.print(tdimearray[j][i] + "\t");//打印每列 } System.out.println();//换行 }