首页 > 编程语言 > 详细

自己的小问题和数组常用的方法

时间:2017-07-24 21:59:24      阅读:267      评论:0      收藏:0      [点我收藏+]

1、构造方法需要加空方法,而构造方法的名字是和类名一模一样的
成员方法是不需要空方法的
2、scanner使用最好用循环来完成,当输入时其顺序是不是按照你给的顺序完成的

3、

错误的:
int temp=0;
arr[temp]=arr[i];
arr[i]=arr[max];
arr[max]=arr[temp];

技术分享


在定义空的变量进行传递数值的时候,不能用arr【temp】,这样会将索引及数传递丢了一部分

数组Arrays

 

(1)数组:存储同一种数据类型的多个元素的容器。
(2)特点:每一个元素都有编号,从0开始,最大编号是长度-1。
编号的专业叫法:索引
(3)定义格式
A:数据类型[] 数组名;
B:数据类型 数组名[];

推荐是用A方式,B方法就忘了吧。
但是要能看懂
(4)数组的初始化
A:动态初始化
只给长度,系统给出默认值

举例:int[] arr = new int[3];
B:静态初始化
给出值,系统决定长度

 

package com.hanqi.maya.shuzu;

import java.util.Arrays;

public class Array {
    public static void main(String[] args) {
        int[] arr=new int[5];
        //fill填充数组
        Arrays.fill(arr, 3);
        p(arr);
        //二分搜素法,必须在使用之前进行排序,返回的是负数因为没在数组,同时也是30应该在的索引(从1开始)
        int[] arr1={11,22,33,44,67,89,56}; 
        int a=Arrays.binarySearch(arr1, 30);
        Arrays.sort(arr1);
        System.out.println(a);
    }
    public static  void p(int[] arr){
        for(int i=0;i<arr.length;i++){
            System.out.print(arr[i]+" ");
        }
    }

}        

技术分享

package keshang;

import java.util.Arrays;

public class Array {
    
    public static void main(String[] args) {
        
        //int[] arr=new int[6];
        int[] arr={1,22,44,53,65,35};
        
    /*    Arrays.fill(arr, 3);
        
        Arrays.sort(arr1);*/
        
        //直接选择排序
        for(int i=0;i<arr.length;i++){
            int max=i;
            for(int j=i+1;j<arr.length;j++){
                if(arr[max]<arr[j]){
                    max=j;
                }
            }
        
             int temp=arr[i];
            arr[i]=arr[max];
            arr[max]=temp;
        }
        p(arr);
    }
    
    public static void p(int[] arr){
        for (int i=0;i<arr.length ;i++){
            System.out.print(arr[i]+" ");
        }
    }

}

数组的各种用法

package shipin;

public class Array {
    //数组的最大值
    public int getMax(int arr[]){
        int max=arr[0];
        for(int i=1;i<arr.length;i++){
            if(max<arr[i]){
                max=arr[i];
            }
        }
        return max;
    }
    
    //数组的最小值
    public int getMin(int arr[]){
        int min=arr[0];
        for(int i=1;i<arr.length;i++){
            if(min>arr[i]){
                min=arr[i];
            }
        }
        return min;
    }
    
    //数组的总和
    public int getSum(int arr[]){
        int sum=0;
        for(int i=0;i<arr.length;i++){
            sum+=arr[i];
        }
        return sum;
    }
    
    //数组的平均值
    public int avg(int arr[]){
        int sum=getSum(arr);//在方法中调用方法
        return sum/arr.length;
    }
    //数组的遍历
    public void printArray(int arr[]){
        System.out.println("[");
        for(int i=0;i<arr.length;i++){
            System.out.println(arr[i]+"/t");
        }
        System.out.println("]");
    }
    
    //数组的排序
    public void paiXu(int arr[],String desc){
        if(desc=="asc"){
        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;
                    
                    }
                }
            }
        }else if(desc=="desc"){
            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;
                        
                        }
                    }
                }
        }else{
            System.out.println("您输入的有误");
        }
    }
    
    //数组的反转
    public int[] fanzhuan(int arr[]){
        for(int x=0,y=arr.length-1;x<y;x++,y--){
            int temp=arr[x];
            arr[x]=arr[y];
            arr[y]=temp;
        }
        return arr;
    }
    
    //数组的复制
    public int[] copy(int arr[]){
        int arr1[]=new int[arr.length];
        for(int i=0;i<arr.length;i++){
            arr1[i]=arr[i];
        }
        return arr1;
    }
    


}

 

 

 

自己的小问题和数组常用的方法

原文:http://www.cnblogs.com/NCL--/p/7231277.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!