java笔试题综合练习题

一、笔试题

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);

 

  1. 编写一段程序,对一维数组 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 + "  ");

 

 }

 

  1. 计算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

(5aniamala移动后睡觉,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");

}

 

}

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值