1、给定一个数组,请将这个数组元素反转。★★
反转前:int[] arr1 = {1,3,2,4,5};
反转后: int[] arr2 = {5,4,2,3,1};
答案:
public class HelloWorld {
public static void main(String []args) {
int[] arr1 = {1,3,2,4,5};
int len = arr1.length;
int[] arr2 = new int[len];
for(int i=0;i<arr1.length;i++){
arr2[len-1]=arr1[i];
len--;
}
for(int x : arr2){
System.out.print(x);
}
}
}
2、给定一个二维数组,请将这个二维数组转化成一维数组 ★★
int[][] arr = { {1,2,3}, {4,5,6}, {7,8} } int[] arr = {1,2,3,4,5,6,7,8}
答案:
public class HelloWorld {
public static void main(String []args) {
int[][] arr = { { 1 , 2 , 3 } , { 4 , 5 , 6 } , { 7 , 8 } };
int[] a = new int[8];
int x = 0;
for(int[] i : arr ){
for (int j : i){
System.out.print(j);
a[x] = j;
x++;
}
}
for(int i : a){
System.out.print(i);
}
}
}
3、设计一个方法,传入两个数组,请把两个数组进行合并成一个新数组并返回。★★
答案:
public class HelloWorld {
public static void main(String []args) {
int[] arr1 = {1,2,3};
int[] arr2 = {4,5};
int[] arr = fun(arr1,arr2);
for(int i : arr){
System.out.print(i);
}
}
static int[] fun(int[] a,int[] b){
int start = a.length;
int length = a.length+b.length;
int arr[] = new int[length];
for(int i = 0 ; i < length ; i++){
if(i>=start){
arr[i] = b[i-start];
}else{
arr[i] = a[i];
}
}
return arr;
}
}
4、设计一个方法,传入一个数组,并传入开始索引start和结束索引end,截取start到end之间的数组元素放入一个新数组中。★★
public static int[] subArray(int[] srcArr,int start,int end) { ......方法体 } public static void main(String[] args) { int[] arr = {1,2,3,4}; int[] subArr = subArray(arr,1,3); System.out.println(subArr) // {2,3} }
答案:
public class HelloWorld {
public static int[] subArray(int[] srcArr,int start,int end) {
int len = end-start;
int[] arr = new int[len];
for(int i = 0 ; i < len ; i++ ){
arr[i] = srcArr[start];
start++;
}
return arr;
}
public static void main(String[] args) {
int[] arr = {1,2,3,4};
int[] subArr = subArray(arr,1,3);
//System.out.println(subArr); // {2,3}
for(int i : subArr){
System.out.println(i);
}
}
}
5、设计一个方法,给定一个小写的字符串str,把这个字符串转化成大写的字符串。★★
答案:
public class HelloWorld {
public static void main(String []args) {
String str = "csgo";
int length = str.length();
char[] c = new char[length];
for(int i = 0 ; i < length ; i++){
c[i] = (char)(str.charAt(i) - 32);
}
String str1 = new String(c);
System.out.print(str1);
}
}
6、设计一个方法,传入两个数组,判断两个数组是否相等(★★)
答案:
public class HelloWorld {
public static void main(String []args) {
int arr1[] = {1,2,3};
int arr2[] = {1,2,3};
//int arr2[] = {1,2,3,4};
System.out.println("两个数组是否相等:" + alike(arr1,arr2) );
}
static boolean alike(int[] a,int[] b){
if(a.length != b.length){
return false;
}else{
for(int i = 0 ; i < a.length ; i++ ){
if(a[i] != b[i]){
return false;
}
}
}
return true;
}
}