1、Java第二周测试 一、选择题(10题 每题2分 共20分) 1、 在一个应用程序中定义了数组a:int[ ] a={1,2,3,4,5,6,7,8,9,10};,为了打印输出数组a的最后一个数组元素,下面正确的代码是B A) System.out.println(a[10]); B) System.out.println(a[9]); C) System.out.println(a[a.length]); D) System.out.println(a(8)); 2、 下面关于数组定义语句不正确的是D A)int[ ] a1,a2;
2、 B)int a0[ ]={11,2,30,84,5}; C)double[] d=new double[8]; D)float f[ ]=new {2.0f,3.5f,5.6f,7.8f}; 3、 设有定义语句int a[ ]={3,9,-9,-2,8}; 则以下对此语句的叙述错误的是C A) a数组有5个元素 B) 数组中的每个元素是整型 C) a的值为3 D) 对数组元素的引用a[a.length-1]是合法的 4、 设有定义语句int a[ ]={66,88,99}; 则以下对此语句的叙述错误
3、的是C A) 定义了一个名为a的一维数组 B) a数组有3个元素 C) a数组的元素的下标为1~3 D)数组中的每个元素是整型 5、 为了定义三个整型数组a1、a2、a3,下面声明正确的语句是 B A)intArray [ ] a1,a2; int a3[ ]={1,2,3,4,5}; B)int [ ] a1,a2; int a3[ ]={1,2,3,4,5}; C)int a1,a2[ ]; int a3={1,2,3,4,5};
4、 D)int [ ] a1,a2; int a3=(1,2,3,4,5); 6、 以下能对二维数组a进行正确初始化的语句是B A)int a[2][] = { {1 , 0 , 1} , {5 , 2 , 3} }; B)int[][] a = { { 1, 2, 3 }, { 4, 5, 6 } }; C)int a[2][4] = { { 1 , 2 , 3 }, { 4 , 5 } , { 6 } }; D)int[] a = { { 1 , 0 , 1 } { } , { 1 , 1 } }; 7、 若
5、有说明: int a[] = { 1, 2, 3, 4, 5, 6, 7 }; 则获取a数组的大小是A A)length B)length() C)getLen() D)size() 8、 执行下面的程序段后,变量k中的值为A int k = 3, s[] = new int[2]; s[0] = k; k = s[1] * 10; A)0 B)33 C)30 D)10 9、 有以下程序,输出结果为: public class Test1 { public static void main(String[] a
6、rgs) { int n[] = new int[2], i, j, k; for (i = 0; i < 2; i++) n[i] = 0; k = 2; for (i = 0; i < k; i++) for (j = 0; j < k; j++) n[j] = n[i] + 1; System.out.println(n[k]); } } 程序运行后的输出结果是D A)3 B)2 C)1 D) 运行出错 10、以下程序的输出结果是C public class Test1 { public st
7、atic void main(String[] args) { int i, a[] = new int[10]; for (i = 9; i >= 0; i--) a[i] = 10 - i; System.out.println(" " + a[2] + a[5] + a[8]); } } A)258 B)741 C)852 D)369 二、编程题:(8题每题10分 共80分) 第1题:定义一个一维数组, 并输出一维数组中所有元素值 答: public class Test1 { public static v
8、oid main(String[] args) { int []a={1,2,3,4,5,6,7,8,9}; for (int i = 0; i < 9; i++) { System.out.println(a[i]); } } } 第2题: 求所有不超过200的n值,n的平方是具有对称性质的回文数。所谓回文数就是将一个数从左向右读与从右向左读是一样的。例如:3443和1234321都是回文数。提示:用方法来解决。 public class Test2 { public static void main(String[] args) {
9、for (int n = 0; n <=200; n++) { String sq=String.valueOf(n*n); int count=0; char []a=sq.toCharArray(); char []b=new char[a.length]; for (int i = 0; i < a.length; i++) { b[i]=a[a.length-1-i]; } for (int j = 0; j < b.length; j++) { if (a[j]==b[j]) {
10、 count++; } } if (count==a.length) { System.out.println(n+" "+n*n); } } } } 第3题:输入10个数,并对10个数进行排序。 import java.util.Scanner; public class Test3 { public static void main(String[] args) { int [] a=new int[10]; Scanner s=new Scanner(System.in);
11、 for (int i = 0; i < a.length; i++) {
System.out.println("请输入第"+(i+1)+"个数值:");
a[i]=s.nextInt();
}
for (int i = 0; i < a.length; i++) {
for (int j = i+1; j < a.length; j++) {
if (a[i] 12、out.println("这10个数从大到小的排列顺序为:");
for (int m = 0; m < a.length; m++) {
System.out.print(a[m]+" ");
}
}
}
第4题:
编写名为: Score 类,用于描述成绩;有三门成绩:语文,外语,数学;要求三门成绩有相应的set和get方法和三个参数的构造方法。
public class Score {
private double Chinese;
private double English;
private double 13、Math;
public double getChinese() {
return Chinese;
}
public void setChinese(double chinese) {
Chinese = chinese;
}
public double getEnglish() {
return English;
}
public void setEnglish(double english) {
English = english;
}
public double getMath() {
return Math;
}
14、
public void setMath(double math) {
Math = math;
}
public Score(double chinese, double english, double math) {
super();
Chinese = chinese;
English = english;
Math = math;
}
}
第5题:编写一名为: Circle 的类, 用于描述圆;在类中定义一个实例变量用于存放半径, 并有相应的set, get方法;在类中定义一个无参数的构造方法, 初始化半径值为: 在类中有两个实例方法 15、一个用于计算并返回面积,名为: double area(); 一个用于计算并返回周长,名为: double girth();
public class TheMainClass {
public static void main(String[] args) {
Circle c = new Circle();
c.setR(3);
double area = c.area();
System.out.println("面积为:"+area);
double girth = c.girth();
16、 System.out.println("周长为:"+girth);
}
}
public class Circle {
private double r;
public Circle() {
super();
}
public Circle(double r) {
super();
this.r = r;
}
public double getR() {
return r;
}
public void setR(double r) {
this.r = r;
}
public double a 17、rea(){
return 3.1415*r*r;
}
public double girth(){
return 2*3.1415*r;
}
}
第6题:定义一个由整数组成的额数组,要求求出其中的奇数和偶数个数。
public class Test6 {
public static void main(String[] args) {
int[] a=new int[10];
for (int i = 0; i < a.length; i++) {
a[i]=(int)(100*Math.random());
18、System.out.print(a[i]+" ");
}
System.out.println();
int odd=0,even=0;
for (int i = 0; i < a.length; i++) {
if (a[i]%2==0) {
even++;
}
if (a[i]%2!=0) {
odd++;
}
}
System.out.println("数组中奇数的个数为:"+odd);
System.out.println("数组中偶数的个数为:"+even);
}
}
19、
第7题:定义一个数组,求出元素和,最大值,最小值。
public class Test7 {
public static void main(String[] args) {
int sum=0;
int[] a=new int[10];
for (int i = 0; i < a.length; i++) {
a[i]=(int)(10+30*Math.random());
System.out.print(a[i]+" ");
}
System.out.println();
for (int j = 0; j 20、< a.length; j++) {
sum+=a[j];
}
System.out.println("元素的和为:"+sum);
int max=a[0];
for (int i = 0; i < a.length; i++) {
if (maxa[ 21、i]) {
min=a[i];
}
}
System.out.println("元素的最小值:"+min);
}
}
第8题:从键盘上输入一个正整数n,请按照以下五行杨辉三角形的显示方式,
输出杨辉三角形的前n行。
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
import java.util.Scanner;
public class Test8 {
public static void main(String[] ar 22、gs) {
Scanner s=new Scanner(System.in);
System.out.println("请输入杨辉三角行数:");
int n=s.nextInt();
int [][]yang=new int[n][n];
yang[0][0]=1;
yang[1][0]=1;
yang[1][1]=1;
for (int i = 2; i < n; i++) {
yang[i][0]=1;
yang[i][i]=1;
for (int j = 1; j <= i-1; j++) {
yang[i][j]=yang[i-1][j-1]+yang[i-1][j];
}
}
for (int x = 0; x < n;x++) {
for (int y = 0; y <=x; y++) {
System.out.print(yang[x][y]+" ");
}
System.out.println();
}
}
}






