小练习
打印字母表:
public class letterInput {
public static void main(String[] args){
char lt1 = 'A'; //理解char与string的区别,
//char只能表示单个字符变量,且与ASCLL码值一一对应
char lt2 = 'a';
for(int i = 0;i < 26;i++){
System.out.print(lt1);
System.out.print(lt2+" ");
if(i%10 == 9){
System.out.println();
}
lt1 ++;
lt2 ++;
}
}
}
逆序:
public class reverse {
public static void main(String[] args){
int[] arr = {12,3233,3456,3345,73,1,44,334};
for(int i = 0, j = arr.length-1;i < j;i++ ,j--){ //注意不要让数组越界
int temp;
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
print(arr);
}
}
比较排序:
public class selectSort {
int[] arr = {12,3233,3456,3345,73,1,44,334};
for(int i = 0;i < arr.length;i++){
for(int j = i+1;j < arr.length;j++){
if(arr[j] < arr[i]){
int temp;
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
}
冒泡排序:
public static void bubbleSort(int[] arr){
int temp;
for(int i = 0;i < arr.length;i++){
for(int j = 0;j < arr.lengtf-1-i;j++){ //lengtf-1-i减少重复比较
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
二分查找(数组必须有序):
public static void halfSearch(int[] arr,int number){
int min = 0,max = arr.length;
int mid = 0;
while(min < max){
mid = (min + max)/2;
if(arr[mid] < number){
min = mid;
max --;
}
else if(arr[mid] < number){
max = mid;
min ++;
}
else{
return mid;
}
}
return -1;
}
- 双色球摇奖
- 随机摇出1-33之间的7个随机数,不能重复
- 提示:
- 存储双色球可使用ArrayList集合完成
- 随机摇出双色球可使用Random类nextInt()方法、ArrayList集合remove()方法完成
import java.util.ArrayList;
import java.util.Random;
public class randomBoll {
public static void main(String[] args) {
ArrayList<Integer> arry = new ArrayList<Integer>();
label:while(arry.size() < 7) {
Random r = new Random();
int b = r.nextInt(32)+1;
for (int i = 0; i < arry.size(); i++) {
if(b == arry.get(i)){
continue label;
}
}
arry.add(b);
}
print(arry);
}
public static void print(ArrayList<Integer> list) {
for(int i = 0;i < list.size();i++){
System.out.println(list.get(i));
}
}
}