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