这边和C不同。
杨辉三角
import java.util.Scanner;
public class SeqSearch {
public static void main(String[] args) {
int[][] arr = new int[10][];
for (int i = 0; i < arr.length; ++i) {
arr[i] = new int[i + 1];
for (int j = 0; j < arr[i].length; ++j) {
if (j == 0 || j == arr[i].length - 1) {
arr[i][j] = 1;
} else {
arr[i][j] = arr[i-1][j] + arr[i-1][j-1];
}
System.out.print(arr[i][j] + " ");
}
System.out.println();
}
}
}
我选的是:ABDE
首先是A,这题错在前面String[] 是一个字符串数组,而后面用''引起的是字符。
B是对的,字符串放入字符串数组里。
C是错的,后面的new String这边少了括号,不能表明它是一个数组了。
D是对的,String[] strs = new String[] {"a", "b", "c"};
E错了,[]里不能写数字
因为这样写有歧义了,String[] args = new String[3];//这是个动态初始化。
如果要静态的,则不要写数字,让编译器来判断有几个。
boolean类型的初始化是false的,因为如果是对的说成错的和错的说成对的,很明显后面那个更危险,这是出于安全性的考虑。
import java.util.Scanner;
public class SeqSearch {
public static void main(String[] args) {
int[] arr = {10, 12, 45, 90};
int insertNum = 0;
Scanner myScanner = new Scanner(System.in);
System.out.println("请输入你要插入的数字:");
insertNum = myScanner.nextInt();
int index = -1;
for (int i = 0; i < arr.length; ++i) {
if (insertNum <= arr[i]) {
index = i;
break;
}
}
if (index == -1) {
index = arr.length;
}
int[] arrNew = new int[arr.length + 1];
//要认真看的部分
for (int i = 0, j = 0; i < arrNew.length; ++i) {
if (i != index) {
arrNew[i] = arr[j++];
} else {
arrNew[i] = insertNum;
}
}
arr = arrNew;
for (int i = 0; i < arr.length; ++i) {
System.out.print(arr[i] + " ");
}
}
}
for (int i = 0, j = 0; i < arrNew.length; ++i) {
if (i != index) {
arrNew[i] = arr[j++];
} else {
arrNew[i] = insertNum;
}
}