一些基础练习
2022-10-11 本文已影响0人
晓晓_1931
输入三个整数x,y,z,请把这三个数由小到大输出。
public static void main(String[] args) {
//输入三个整数x,y,z,请把这三个数由小到大输出。
Scanner scan = new Scanner(System.in);//工具类
System.out.println("请输入一个整数:");//阻塞
int x = scan.nextInt();//在控制台接受用户输入的整数
System.out.println("请输入一个整数:");//阻塞
int y = scan.nextInt();//在控制台接受用户输入的整数
System.out.println("请输入一个整数:");//阻塞
int z = scan.nextInt();//在控制台接受用户输入的整数
int max = x > y? x : y;
max = max > z ? max : z;//三个数中最大
int min = x < y ? x : y;
min = min < z ? min : z;//三个数中最小
int mid = (x + y + z) - max - min;//中间大小的数
System.out.println(min + " " + mid + " " + max);
}
有一个不多于5位的正整数,求它是几位数,分别打印出每一位数字。
public static void main(String[] args) {
// 有一个不多于5位的正整数,求它是几位数,分别打印出每一位数字。
Scanner scan = new Scanner(System.in);
System.out.println("请输入一个不多于5位的正整数:");
int i = scan.nextInt();
int count = 0;
while(true) {
int gewei = i % 10; //截取每一位
i = i / 10;//每次循环去掉末尾一位
count++;//每去掉一位,记录加一
System.out.println(gewei);
if(i == 0) {//去掉最后一位,再除10 结果就为0 不能再截取,跳出循环
break;
}
}
System.out.println("是" + count + "位数");
}
编写一个程序,找出大于200的最小的质数
public static void main(String[] args) {
for(int i = 200; ;i++) {
boolean b = true;
for(int j = 2; j < i ;j++) {
if(i % j == 0) {
b = false;
continue;
}
}
if(b) {
System.out.println(i);
break;
}
}
}
冒泡排序
public static void main(String[] args) {
int arr[] = {24,69,80,57,13,65};
int temp;
for(int i = 1;i <= arr.length - 1;i++) {
for(int j = 0;j < arr.length - i;j++) {
//比较
if(arr[j] > arr[j + 1]) {//如果数组前面的元素比后面的元素大的话
//将两者进行交换
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
System.out.println("排序之后的结果为:" + Arrays.toString(arr));
}
数组二分查找
public static void main(String[] args) {
int[] a = { 1, 2, 3, 4, 5, 6, 7, 8 };//数组的元素得是有序的
int head = 0;//代表起始下标的值(初始值)
int end = a.length - 1;//结束位置的下标(初始值)
int b = 6;//待查找的值
boolean flag = true;
while(head <= end) {
int middle = (head + end)/2;//获取中间下标的值
if(a[middle] == b) {
System.out.println("找到了 下标为:" + middle);
flag = false;
break;
}else if(b < a[middle]) {
end = middle - 1;
}else {
head = middle + 1;
}
}
if(flag) {
System.out.println("没找到");
}
}
将一个数组中的重复元素保留一个其他的清零
public static void main(String[] args) {
int a[] = {1,2,2,3};
//将一个数组中的重复元素保留一个其他的清零。
for(int i = 0;i < a.length;i++) {
for(int j = 0;j < a.length; j++) {
if(a[i]==a[j] && i!=j) {
a[j] = 0;
}
}
}
System.out.println(Arrays.toString(a));
}
生成6个不重复的整数
public static void main(String[] args) {
Random ra = new Random();
int b[] = new int[6];
for (int i = 0; i < b.length; i++) {
b[i] = ra.nextInt(10) + 1;
for (int j = 0; j < i; j++) {
if(b[i] == b[j]) {
i--;
}
}
}
System.out.println(Arrays.toString(b));
}
数组直接查找
public static void main(String[] args) {
int arr[] = { 24, 69, 13, 80, 57, 65 };
int b = 24;
boolean flag = true;
for (int i = 0; i < arr.length; i++) {
if (arr[i] == b) {// 一次将变量b与数组中的所有元素进行比较,如果相等,就包含
System.out.println("找到了,下标位置是:" + i);
flag = false;
break;// 找到了后面的元素就没必要比较了,所以跳出循环
}
}
if (flag) {
System.out.println("没找到");
}
}
将一个数组中的元素逆序存放。
public static void main(String[] args) {
int a[] = {1,2,3,4,5};//
int temp;
for(int i = 0;i < a.length/2;i++) {
temp = a[i];
a[i] = a[a.length - 1 - i];
a[a.length - 1 - i] = temp;
}
//输出
for(int i = 0; i < a.length ; i++) {
System.out.print(a[i]);
}
System.out.println(Arrays.toString(a));
}