Java-数组练习-1.将整型数组转换成字符串;2.实现一个方法 copyOf, 对一个整型数组拷贝, 得到一个新的数组;3.给定一个有序整型数组, 实现二分查找

1.实现一个方法 toString, 把一个整型数组转换成字符串. 例如数组 {1, 2, 3} , 返回的字符串为 “[1, 2, 3]”, 注意 逗号 的位置和数量.

package gyy;
public class yinger1{
    
    
 public static void main(String[] args) {
    
    
  int[] arr={
    
    1,2,3,4};
        System.out.print(toString(arr));
    }public static String toString(int[] arr){
    
    
        String ret="["; 
        int i;
        for(i=0;i<arr.length;i++){
    
    
            if(i<arr.length-1){
    
    
                ret+=arr[i]+",";
            }else if(i==arr.length-1){
    
    
                ret+=arr[i]+"]";
            }
            
        }return ret;
 }
}

运行结果:

[1,2,3,4]

2.实现一个方法 copyOf, 对一个整型数组进行拷贝, 得到一个新的数组.

package gyy;
import java.util.Arrays;
public class yinger1{
    
    
 public static void main(String[] args) {
    
    
  int [] arr={
    
    1,2,3,4,5};
        int[] newarr=copyOf(arr);
        System.out.println(Arrays.toString(newarr));
    }
    public static int[] copyOf(int[] arr1){
    
    
        int[] ret=new int[arr1.length];
        for(int i=0;i<arr1.length;i++){
    
    
            ret[i]=arr1[i];
        }return ret;
 }
}

运行结果:

[1, 2, 3, 4, 5]

3.给定一个有序整型数组, 实现二分查找

package gyy;
import java.util.Scanner;
public class yinger1{
    
    
 public static void main(String[] args) {
    
    
  System.out.print("请输入要查找的数字:");
  Scanner sc=new Scanner(System.in);
  int tofind=sc.nextInt();
   int[] arr={
    
    1,2,3,4,5,6,7,8,9,10};
         int ret=find(arr,tofind);
         System.out.println(ret);
         sc.close();
     }
     public static int find(int[]arr1,int tofind){
    
    
         int left=0;
         int right=arr1.length-1;
         while(left<=right){
    
    
             int mid=(left+right)/2;
         if(tofind<arr1[mid]){
    
    
             right=mid-1;
         }else if(tofind>arr1[mid]){
    
    
             left=mid+1;
         }else{
    
    
             return mid;
         } 
     }   
         return -1;
 }
}

运行结果:

请输入要查找的数字:9
8

猜你喜欢

转载自blog.csdn.net/weixin_44378053/article/details/104228778