zoukankan      html  css  js  c++  java
  • Java

    6.给定两个数组a{1,2,3}  b{4,5} 合并两个数组 (创建一个新的数组5长度)
    public class Array { public static void main(String[] args){ int [] arrayA = new int[]{1, 2, 3}; int [] arrayB = new int[]{4, 5}; int [] newArray = new int[arrayA.length + arrayB.length]; for(int i = 0; i < newArray.length; i++){ if(i < arrayA.length) { newArray[i] = arrayA[i]; }else{ newArray[i] = arrayB[i - arrayA.length]; } } for(int var : newArray){ System.out.println(var); } } }
    7.给定一个数组a{1,2,3,9,4,5} 按照数组中的最大值位置 将数组拆分成两个{1,2,3,9} {4,5}
    public class Array { public static void main(String[] args){ int [] array = new int[]{1, 2, 3, 9, 4, 5}; int max = array[0]; int index = 0; for(int i = 0; i < array.length; i++){ if(max < array[i]) { max = array[i]; index = i; } } int [] arrayNewA = new int[index+1]; int [] arrayNewB = new int[array.length - arrayNewA.length]; for(int i = 0; i < array.length; i++){ if(i < index+1){ arrayNewA[i] = array[i]; }else{ arrayNewB[i - index-1] = array[i]; } } for(int var : arrayNewA){ System.out.println(var); } System.out.println("---------------"); for(int var : arrayNewB){ System.out.println(var); } } }
    8.给定一个数组a{1,2,3,0,0,4,5,0,6,0,7} 去掉数组中的0元素 (创建一个新数组 短的 非零元素挑出来)
    //去除数组中的0元素
    public class ArrayRemoveZero {
        public void RemoveZero(int[]arrayA){
            System.out.println("原数组元素:");
            for (int result:arrayA){
                System.out.println(result+"	");
            }
            int count = 0;//用来记录0元素个数
            for (int i=0;i<arrayA.length;i++){
                if(arrayA[i]==0){
                    count++;
                }
            }
            int index = 0;
            int[] newArray = new int[arrayA.length-count];//创建一个数组存储
            for(int i=0;i<arrayA.length;i++){
                if(arrayA[i]!=0){
                    newArray[index++] = arrayA[i];
                }
            }
    
            System.out.println("新数组元素:");
            for (int result:newArray){
                System.out.println(result+"	");
            }
        }
    }
    9.创建一个数组 存储2-100之间的素数(质数)
    方法一: 空间占用小,执行效率慢
        ①通过一个几千次的循环确定应该创建的数组的长度
        ②通过一个几千次循环找寻素数,将素数存入数组内
    public class Array {
        public static void main(String[] args){
            int count = 0;
            for(int num = 2; num <= 100; num++){
                for(int i = 2; i <= num/2; i++){
                    if(num % i ==0){
                        count++;
                        break;
                    }
                }
            }
            int index = 0;
            int [] array = new int [99 - count];
            for(int num = 2; num <= 100; num++){
                boolean flag = false;
                for(int i = 2; i <= num/2; i++){
                    if(num % i ==0){
                        flag = true;
                        break;
                    }
                }
                if(!flag){
                    array[index++] = num;
                }
            }
            for(int var : array){
                System.out.println(var);
            }
        }
    }
    方法二: 执行效率高 空间占用大
        ①创建一个足够长的数组,并且通过几千次循环找寻素数,将其存入数组
        ②将数组素数后的0元素删除
    
    public class Array {
        public static void main(String[] args){
            int [] array = new int [50];
            int index = 0;
            for(int num = 2; num <= 100; num++){
                boolean flag = false;
                for(int i = 2; i <= num/2; i++){
                    if(num % i ==0){
                        flag = true;
                        break;
                    }
                }
                if(!flag){
                    array[index++] = num;
                }
            }
            int[] newArray = new int[index];
            for(int i=0;i<newArray.length;i++){
                newArray[i] = array[i];
            }
            array = null;
            for(int v:newArray){
                System.out.println(v);
            }
        }
    }
    10.冒泡、直接选择排序
    /*冒泡排序的基本思想
        冒泡排序的基本思想是对比相邻的元素值,如果满足条件就交换元素值,把较小的元素移动
      到数组前面,把数值大的元素移动到数组后面,这样较小的元素就像气泡一样从底部升到顶部
    */
    public class MaoPaoSort {
        public void sort(int[] arrayA,boolean flag){//true为升序,false为降序
            System.out.println("排序前:");
            for (int result:arrayA){
                System.out.print(result+"	");
            }
            System.out.println();
            for(int i=1;i<arrayA.length;i++){//i控制第几趟排序
                for (int j=0;j<arrayA.length-i;j++){//j控制每趟比较的次数
                   if(flag){
                       if(arrayA[j]>arrayA[j+1]){
                           int temp = arrayA[j];
                           arrayA[j] = arrayA[j+1];
                           arrayA[j+1] =temp;
                       }
                   }else {
                       if(arrayA[j]<arrayA[j+1]){
                           int temp = arrayA[j];
                           arrayA[j] = arrayA[j+1];
                           arrayA[j+1] =temp;
                       }
                   }
                }
            }
            System.out.println("排序后:");
            for (int result:arrayA){
                System.out.print(result+"	");
            }
        }
    }
    package order2_xuanze;
    
    /**
        直接选择排序的基本思想
            将指定排序位置与其他数组元素分别对比,如果满足条件就交换元素。
            注意这里与冒泡排序的区别:不是交换相邻的元素,而是把满足条件的元素与指定
        的排序位置交换。
    */
    public class StraightSelectSorting {
        public void straightSelectSorting(){
            int [] array = {100,95,158,20,32,19,1,0,79};
            //从小到大 从前往后
            for (int i = 0; i < array.length; i++) {//控制数值存放的位置
                //每一次里面需要从当前i位置之后找   找到最小值
                int index = i;  //用来记录最小值的索引位置
                for(int j=i+1; j<array.length; j++){
                    if(array[j]<array[index]){
                        index = j;
                    }
                }
                int temp = array[index];
                array[index] = array[i];
                array[i] =temp;
            }
            for (int i = 0; i < array.length; i++) {
                System.out.println(array[i]);
            }
        }
    
        public static void main(String[] args) {
            StraightSelectSorting sort = new StraightSelectSorting();
            sort.straightSelectSorting();
        }
    }

    思路如下:

    11.实现用户登录
    import java.util.Scanner;
    
    public class Array {
        public static void main(String[] args){
            String [] userBox ={"星期一","星期二","星期三"};
            int [] passwordBox = {123, 234, 345};
            Scanner input = new Scanner(System.in);
            System.out.println("请输入用户名:");
            String user = input.nextLine();
            System.out.println("请输入密码:");
            int password = input.nextInt();
            boolean flag = false;
            for(int i = 0; i < userBox.length; i++){
                if(userBox[i].equals(user)){
                    if(passwordBox[i] == password){
                        System.out.println("登录成功");
                        flag = true;
                    }
                    break;
                }
                }
            if(!flag){
                System.out.println("账号或密码错误");
            }
        }
    }
  • 相关阅读:
    POJ 3660 Cow Contest (floyd求联通关系)
    POJ 3660 Cow Contest (最短路dijkstra)
    POJ 1860 Currency Exchange (bellman-ford判负环)
    POJ 3268 Silver Cow Party (最短路dijkstra)
    POJ 1679 The Unique MST (最小生成树)
    POJ 3026 Borg Maze (最小生成树)
    HDU 4891 The Great Pan (模拟)
    HDU 4950 Monster (水题)
    URAL 2040 Palindromes and Super Abilities 2 (回文自动机)
    URAL 2037 Richness of binary words (回文子串,找规律)
  • 原文地址:https://www.cnblogs.com/yyanghang/p/10962852.html
Copyright © 2011-2022 走看看