冒泡排序:
1. 手动实现一下冒泡排序(快速排序)
实例:
import java.util.Arrays;
import java.util.Scanner;
/**
* 手动实现一下冒泡排序(快速排序)
*/
public class A1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] arr = new int[8];
System.out.println("请输入八个数:");
for (int i=0;i<arr.length;i++){
arr[i] = sc.nextInt();
}
System.out.println(Arrays.toString(arr));
/**
* 冒泡排序
*/
for(int i=0;i<arr.length-1;i++){
for(int j=0;j<arr.length-i-1;j++){
if (arr[j] > arr[j+1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
System.out.println("排好序后的数组为:");
for (int i=0;i<arr.length;i++){
System.out.print(arr[i]+"\t");
}
}
}
运行结果:
打印空心菱形:
2. 实现打印指定行数的空心菱形的功能
实例:
import javax.swing.*;
import java.util.Scanner;
public class A2 {
static Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
System.out.print("输入行数:");
heart();
}
/**
* 打印上半部分的图形
*/
private static void heart() {
int row = sc.nextInt();
for (int i=1;i<=row;i++){
for (int j=1;j<=row*2-1;j++){
if (j == row-i+1 || j == row+i-1){
System.out.print("*");
}else{
System.out.print(" ");
}
}
System.out.println();
}
/**
* 打印下半部分的图形
*/
for (int i=row-1;i>0;i--){
for (int j=1;j<=row*2-1;j++){
if (j == row-i+1 || j == row+i-1){
System.out.print("*");
}else{
System.out.print(" ");
}
}
System.out.println();
}
}
}
运行结果:
遍历扫雷:
3. 打印扫雷的地图
实例:
import java.util.Random;
import java.util.Scanner;
public class A3 {
static Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
System.out.println("请输入行和列:");
int a = sc.nextInt();
int b = sc.nextInt();
sL(a,b);
}
private static void sL(int x,int y) {
Random r = new Random();
int[][] arr = new int[x][y];
/**
* 随机生成雷区,将雷区赋值为-1
*/
for (int i = 0; i <x ; i++) {
for (int j = 0; j <y ; j++) {
int nums = r.nextInt((x+y)/2)-1;
if (nums == -1){
arr[i][j] = nums;
}else{
arr[i][j] = 0;
}
}
}
/**
* 遍历周围是否存在雷区,存在则加 1
*/
for (int i = 0; i < x; i++) {
for (int j = 0; j < y; j++) {
if (arr[i][j] == -1){
continue;
}
for (int k = i-1; k <= i+1; k++) {
if (k < 0){
continue;
}else if(k >= x){
break;
}
for (int l = j-1; l <= j+1; l++) {
if (k == i && l == j){
continue;
}else if(l < 0){
continue;
}else if (l >= y){
break;
}
if (arr[k][l] == -1){
arr[i][j]++;
}
}
}
}
}
/**
* 打印扫雷地图
*/
System.out.println("扫雷地图:");
for (int i = 0; i < x; i++){
for (int j = 0; j < y; j++) {
System.out.print(arr[i][j]+"\t");
}
System.out.println();
}
}
}
运行结果: