选择排序和二分法查找
import java.util.Scanner;
/**
* 选择排序和二分法查找
* @author 11142
*
*/
public class Demo01 {
public static void main(String[] args) {
//选择排序
// int[] arr = {5,6,2,3,8,4,1};
// int min = -1;//最小值下标
// //外层:比较几轮
// for (int i = 0; i < arr.length-1; i++) {
// min = i;//每轮min的初始值
// //内层:当前元素和后面的元素比较,记录最新的最小下标
// for (int j = i+1; j < arr.length; j++) {
// if(arr[min] > arr[j]) {//如果降序>改为<
// min = j;
// }
// }
// //如果min值发生变化,说明发现了更小的值,则将当前值和更小的值交换,保证小值放在数组前面
// if(min != i) {
// int temp = arr[min];
// arr[min] = arr[i];
// arr[i] = temp;
// }
// }
// for (int i : arr) {
// System.out.print(i + " ");
// }
//二分(折半)查找(需要顺序排列的数组)
Scanner sc = new Scanner(System.in);
int[] arr = {1,2,3,4,5,6,7,8,9};
int searchNum = 0;
int midIndex = 0;
int startIndex = 0;
int endIndex = arr.length-1;
boolean flag = true;
System.out.print("请输入要查找的数字:");
searchNum = sc.nextInt();
do {
midIndex = (startIndex+endIndex)/2;
if(arr[midIndex] == searchNum) {
System.out.println("恭喜你!找到了,下标是:" + midIndex);
flag = false;
break;
}else if (arr[midIndex] < searchNum) {
startIndex = midIndex + 1;
}else {
endIndex = midIndex - 1;
}
} while (startIndex <= endIndex);
if(flag) {
System.out.println("抱歉,没找到该数字");
}
int sum = 0;
for(int i=1;i<10;i++) {
do {
i++;
if(i%2!=0) {
sum +=i;
}
} while (i<6);
}
System.out.println(sum);
}
}
简单的循环练习
import java.util.Scanner;
public class Demo02 {
public static void main(String[] args) {
// int i = 1;
// for(; i<5; i++) {
// System.out.println(i);
// }
// System.out.println(i);
//定义变量
// int inputNum = -1; // 记录用户输入
// Scanner input = new Scanner(System.in);
// String date = ""; // 记录星期几
// // 循环询问用户输入的数字
// do {
// // 询问用户输入的数字:
// System.out.print("请输入数字(1~7),输入0结束:");
// inputNum = input.nextInt();
// // 分支:根据用户输入的内容,显示相应星期几
// switch (inputNum) {
// case 1:
// date = "星期一";
// break;
// case 2:
// date = "星期二";
// break;
// case 3:
// date = "星期三";
// break;
// case 4:
// date = "星期四";
// break;
// case 5:
// date = "星期五";
// break;
// case 6:
// date = "星期六";
// break;
// case 7:
// date = "星期日";
// break;
// case 0:
// break;
// default:
// System.out.println("您的输入有误!");
// break;
// }
// if (inputNum >= 1 && inputNum <= 7) {
// System.out.println(date);
// }
//
// } while (inputNum != 0);
// System.out.println("程序结束!");
//外层循环,执行n次,每次输出一行*
// Scanner sc = new Scanner(System.in);
// System.out.print("请输入一个数字:");
// int num = sc.nextInt();
// for (int i = 1; i <= num; i++) {
// for (int j = 1; j <= num - i; j++) {
// System.out.print(" ");
// }
// // 内层循环,执行五次,每次输出一个*
// for (int j = 1; j <= 2 * i - 1; j++) {
// System.out.print(i);
// }
// System.out.println();
// }
//打印99乘法表
// for(int i=1; i<=9; i++) {
// for(int j=1; j<=i; j++) {
// System.out.print(i+"*"+j+"="+i*j+"\t" );
// }
// System.out.println();
// }
//求1~10之间的所有偶数和
// int sum = 0;
// for(int i=1; i<=10; i++) {
// if(i%2 == 0) {
// sum += i;
// }
// }
// System.out.println(sum);
//打印三角形
for(int i=1; i<=5; i++) {
for(int j=1; j<=5-i; j++) {
System.out.print(" ");
}
for(int j=1; j<=2*i-1; j++) {
System.out.print("*");
}
System.out.println();
}
}
}