资源描述
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;
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}; 则以下对此语句的叙述错误的是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};
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、 若有说明: 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[] args) {
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 static 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 void 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) {
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]) {
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);
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]<a[j]) {
int temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
System.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 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;
}
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方法;在类中定义一个无参数的构造方法, 初始化半径值为: 在类中有两个实例方法,一个用于计算并返回面积,名为: 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();
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 area(){
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());
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);
}
}
第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 < a.length; j++) {
sum+=a[j];
}
System.out.println("元素的和为:"+sum);
int max=a[0];
for (int i = 0; i < a.length; i++) {
if (max<a[i]) {
max=a[i];
}
}
System.out.println("元素的最大值:"+max);
int min=a[0];
for (int i = 0; i < a.length; i++) {
if (min>a[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[] args) {
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();
}
}
}
展开阅读全文