Java学习到了静态方法,第一次发文章,望大家多多指点 (*^_^*)
要解答此题,首先,我们要了解到题目里所要用到的知识内容
1、静态方法:
先于对象的方法,不依赖与对象,可以通过类名直接调用。
public class Person{
public static void fun(){
System.out.println("fun");
}
}
public class DemoPerson{
public static void main(String[]args){
Person.fun();
}
}
2、冒泡排序原理:
依次比较两个相邻的元素,将值较大的元素交换至右端。
可以用双重循环语句(外层控制循环多少趟,内层控制每一趟的循环次数)即:
for(int i=1;i<arr.length;i++){
for(int j=1;j<arr.length-i;j++){
if(){
//交换位置
}
}
}
3、选择排序原理:
每一趟从待排序的记录中选出最小的元素,顺序放在已排好序的序列中,直到全部记录排序完毕。
即:每一趟在n-i+1(i=1,2,…n-1)个记录中选取关键字最小的记录作为有序序列中第i个记录。
4、数组的定义及赋值
5、数组参数的传递
完成代码如下:
class Bubble { // Bubble sort冒泡排序
public static void bubble(int[] arr) {
int i, j, temp;
for (i = 0; i < arr.length - 1; i++) { // 外层循环控制排序趟数
for (j = 0; j < arr.length - 1; j++) {
// 内层循环控制每一趟排序多少次
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
System.out.println("排序后的数组为:");
for (int num : arr) {
System.out.print(num + " ");
}
System.out.println();
}
}
class Selection { // Selection sorting选择排序
public static void selection(int[] arr) {
for (int i = 0; i < arr.length - 1; i++) { // 做第i趟排序
int k = i;
for (int j = k + 1; j < arr.length; j++) { // 选最小的记录
if (arr[j] < arr[k]) {
k = j; // 记下目前找到的最小值所在的位置
}
}
// 在内层循环结束,也就是找到本轮循环的最小的数以后,再进行交换
if (i != k) { // 交换a[i]和a[k]
int temp = arr[i];
arr[i] = arr[k];
arr[k] = temp;
}
}
System.out.println("排序后的数组为:");
for (int num : arr) {
System.out.print(num + " ");
}
}
}
public class Tools {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("冒泡排序数组为:");
int[] n = new int[4];
for (int i = 0; i < 4; i++) {
n[i] = scanner.nextInt();
}
Bubble.bubble(n);
System.out.println("选择排序数组为:");
int[] m = new int[5];
for (int i = 0; i < 5; i++) {
m[i] = scanner.nextInt();
}
Selection.selection(m);
scanner.close();
}
}
输出结果为: