一、笔试题
1、写出下列程序的运行结果
public static void main(String args[]) {
int i;
int a[] = { 1, 3, 5, 7, 9, 8, 6, 4, 2 };
for (i = 0; i<= a.length / 2; i++) {
System.out.print(a[i] + a[a.length - i - 1] + " ");
}
System.out.println();
}
3 7 11 15 18
2、写出下列程序的执行结果
class A {
String t = "t1";
public void Test1() {
System.out.println("这是A-Test1");
}
public void Test2() {
System.out.println("这是A-Test2:" + t);
}
}
public class Test extends A {
String t = "t2";
public void Test2() {
System.out.println("这是Test-Test2:" + t);
}
public static void main(String[] args) {
A test = newTest();
test.Test1();
test.Test2();
System.out.println(test.t);
test = (Test) test;
System.out.println(test.t);
}
}
这是A-Test1
这是Test-Test2:t2
t1
t1
3、写出下列程序的执行结果
public static void main(String[] args) {
int num = 59;
switch (num++ / 10) {
case 1:
System.out.println("1");
case 2:
System.out.println("2");
case 3:
System.out.println("3");
case 4:
System.out.println("4");
case 5:
System.out.println("5");
case 6:
System.out.println("6");
case 7:
System.out.println("7");
case 8:
System.out.println("8");
case 9:
System.out.println("9");
default:
System.out.println("10");
}
}
5
6
7
8
9
10
4、写出下列程序的执行结果
public static void main(String[] args) {
for (int i = 0; i< 100; i++) {
if (i == 74)
break;
if (i % 9 != 0)
continue;
System.out.println(i);
}
int i = 0;
while (true) {
i++;
int j = i * 27;
if (j == 1269)
break;
if (i % 10 != 0)
continue;
System.out.println(i);
}
}
0
9
18
27
36
45
54
63
72
10
20
30
40
5、写出下列程序的执行结果
public class Test4 {
public boolean run(int num) {
int s = 0;
int bNum = num;
int mod;
boolean bz;
while (bNum != 0) {
mod = bNum % 10;
s = s * 10 + mod;
bNum = bNum / 10;
}
if (s == num) {
bz = true;
} else {
bz = false;
}
return bz;
}
public static void main(String[] args) {
Test4 p = newTest4();
System.out.println(p.run(123123));
System.out.println(p.run(121));
System.out.println(p.run(3333));
}
}
false
true
true
6、画出下列程序代码的pad图
public static void main(String agrs[]) {
int line = 7;
for (int i = 1; i<= line; i++) {
if (i<= line / 2 + 1) {
for (int k = 1; k <= line / 2 + 1 - i; k++) {
System.out.print(" ");
}
for (int k = 1; k <= i; k++) {
System.out.print("* ");
}
System.out.println();
} else {
for (int k = 1; k <= (i - (line / 2 + 1)); k++) {
System.out.print(" ");
}
for (int k = 1; k <= (2 * (line / 2 + 1) - i); k++) {
System.out.print("* ");
}
System.out.println();
}
}
}
二、机考题
1、根据给出的PAD图,编写代码
int i, a, b, c;
for (i = 100; i <= 999; i++) {
c = i % 10;
b = i / 10 % 10;
a = i / 100;
if (a * a * a + c * c * c + b * b * b == i)
System.out.println("100-999之间的水仙花数有"+i);
- 编写一段程序,对一维数组 a = {5,8,9,7,3,1,6,4,2}进行排序。
int[] arr = { 5,8,9,7,3,1,6,4,2};
for (int i = 0; i < arr.length-1; i++) {//比较轮数
int min = i;//假设第一个数最小
for (int j = i + 1; j < arr.length; j++) {//第i个数就从第i+1个数开始比
if (arr[min] > arr[j]) {//从小到大排列
min = j;//找到真实的最小值下标
}
}
if (i != min) {//如果假设的最小值下标不等于真实的最小值下标 就交换两个数的位置
arr[i] = arr[i] ^ arr[min];
arr[min] = arr[i] ^ arr[min];
arr[i] = arr[i] ^ arr[min];
}
}
for (int i : arr) {
System.out.print(i + " ");
}
- 计算5211111111+4099999999
int arr1[] = { 5, 2, 1, 1, 1, 1, 1, 1, 1, 1 };
int arr2[] = { 4, 0, 9, 9, 9, 9, 9, 9, 9, 9 };
int len = arr1.length;
int arr3[] = new int[len];
for (int i = 0; i < len; i++) {
arr3[i] = arr1[i] + arr2[i];
}
for (int i = len - 1; i > 0; i--) {
if (arr3[i] >= 10) {
arr3[i] = arr3[i] - 10;
arr3[i - 1] = arr3[i - 1] + 1;
}
}
for (int i = 0; i < len; i++) {
System.out.print(arr3[i]); }
4、根据要求编写代码
(1)创建动物类animal
具有属性体重
具有方法移动(move)和睡觉(sleep)
移动时输出“animal moving”
睡觉上输出“animal sleepping”
(2)为动物类创建子类鱼类fish、鸟类bird
鱼类移动时输出“swimming”
鸟类移动时输出“flying”
(3)请创建一只动物 aniamala,动物初始化为鸟类
(4)创建一条鱼fishb
(5)aniamala移动后睡觉,fishb睡觉后移动
public class Animal {
int weight;
public void move(){
System.out.println("animal moving");
}
public void sleep(){
System.out.println("animal slepping");
}
}
public class Fish extends Animal{
public void move(){
System.out.println("swimming");
}
}
public class Bird extends Animal{
public void move(){
System.out.println("flying");
}
}