才上基础班,也没有什么技术,就整理了一些有趣的题目
一 定义一个数组,将数组中元素进行排序
方法一 顺序排序
public class Test1 {
public static void main(String[] args) {
//定义数组
int [] arr = {30, 4 , 10, 23, 15, 26};
//第一层循环定义当前需要与后面选择排序的数的索引
for (int i = 0; i < arr.length-1; i++) {
//定义的应该是当前需要选择和后面排序的数的起始位置
for (int j = i+1; j < arr.length; j++) {
if(arr>arr[j]){
int temp=arr[j];
arr[j]=arr;
arr=temp;
}
}
}
for (int i = 0; i <arr.length ; i++) {
System.out.print(arr+" ");
}
}方法二 冒泡排序
public class Test2 {
public static void main(String[] args) {
int [] arr = {12,25,8,63,26,21,15,9,2};
//外层循环控制冒泡的次数
for (int i = 0; i < arr.length-1; i++) {
//内层循环控制每一次冒泡你要判断数
for (int j = 0; j < arr.length-1-i; j++) {
if(arr[j]>arr[j+1]){
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
for (int i = 0; i < arr.length; i++) {
System.out.print(arr+" ");
}
}
}
二, 在一个数组中,某一个元素出现的次数>length/2,请用程序获取数组中的该数字。
public static void main(String[] args) {
int[] arr = {1, 0, 1, 0, 0, 3, 1, 0, 0, 8, 0};
int count = 1;
for (int i = 1; i < arr.length; i++) {
if (count == 0) {
winner = arr;
count++;
continue;
}
if(winner == arr){
count++;
}else{
count--;
}
}
System.out.println(winner);
}
}
|
|