自己的小问题和数组常用的方法
Posted *眉间缘*
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自己的小问题和数组常用的方法相关的知识,希望对你有一定的参考价值。
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; } }
以上是关于自己的小问题和数组常用的方法的主要内容,如果未能解决你的问题,请参考以下文章