21xrx.com
2024-12-23 07:28:40 Monday
登录
文章检索 我的文章 写文章
最近我参加了一场Java的上机考试
2023-06-17 01:34:47 深夜i     --     --

最近我参加了一场Java的上机考试,考完之后也整理了一下答案,下面分享给大家。这场考试总体难度适中,主要考察了Java的基础知识和面向对象编程的应用。

题目一:字符串翻转

给定一个字符串,将其翻转后输出。

示例输入:hello world

示例输出:dlrow olleh

我使用了StringBuffer的reverse()方法来实现字符串翻转,代码如下:


Scanner sc = new Scanner(System.in);

System.out.print("请输入字符串:");

String str = sc.nextLine();

StringBuffer sb = new StringBuffer(str);

System.out.println("翻转后的字符串为:" + sb.reverse());

题目二:冒泡排序

给定一个数组,使用冒泡排序将其从小到大排序。

示例输入:5 2 7 3 9

示例输出:2 3 5 7 9

我使用了两层循环来实现冒泡排序,代码如下:


Scanner sc = new Scanner(System.in);

System.out.print("请输入一组数字(使用空格隔开):");

String[] arrStr = sc.nextLine().split(" ");

int[] arr = new int[arrStr.length];

for (int i = 0; i < arrStr.length; i++) {

  arr[i] = Integer.parseInt(arrStr[i]);

}

for (int i = 0; i < arr.length - 1; i++) {

  for (int j = 0; j < arr.length - 1 - i; j++) {

    if (arr[j] > arr[j + 1]) {

      int temp = arr[j + 1];

      arr[j + 1] = arr[j];

      arr[j] = temp;

    }

  }

}

System.out.print("排序后的数组为:");

for (int i = 0; i < arr.length; i++) {

  System.out.print(arr[i] + " ");

}

题目三:计算器

实现一个简单的计算器,可以进行加减乘除运算。需要循环进行计算,直到用户输入exit。

示例输入:3 + 5

示例输出:8

我使用了switch语句来判断用户输入的运算符并进行相应的计算,代码如下:


Scanner sc = new Scanner(System.in);

while (true) {

  System.out.print("请输入计算式(例如3 + 5,输入exit退出):");

  String input = sc.nextLine();

  if (input.equals("exit")) {

    System.out.println("谢谢使用!");

    break;

  } else {

    String[] arr = input.split(" ");

    int a = Integer.parseInt(arr[0]);

    String op = arr[1];

    int b = Integer.parseInt(arr[2]);

    switch (op) {

      case "+":

        System.out.println("结果为:" + (a + b));

        break;

      case "-":

        System.out.println("结果为:" + (a - b));

        break;

      case "*":

        System.out.println("结果为:" + (a * b));

        break;

      case "/":

        System.out.println("结果为:" + (a / b));

        break;

      default:

        System.out.println("输入有误,请重新输入!");

        break;

    }

  }

}

通过这次上机考试,我巩固了Java的基础知识和面向对象编程的应用,并且提高了自己的编程能力。考试中的代码题目也可以作为学习的练习题目,希望大家可以积极参加类似的考试。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复