21xrx.com
2024-11-25 13:57:15 Monday
登录
文章检索 我的文章 写文章
Java面试编程题经典范例,附代码案例
2023-06-15 16:46:23 深夜i     --     --
Java编程题 三角形 判断类型 代码案例

在Java面试过程中,经常会涉及到一些编程题,这些题目也常常是考察面试者对于Java基础知识和编码能力的一个很好的检验。接下来,我们来看一些经典的Java面试编程题,包括代码案例,以及详细的解题过程。

题目一:判断三角形类型

【题目描述】

输入三个整数,代表三角形的三条边长,判断它们是否能够构成一个三角形,如果可以则判断其类型,包括等边三角形、等腰三角形、一般三角形以及不能构成三角形。

【解题思路】

根据三角形的定义,对于三条边长a,b,c,要构成一个三角形,必须满足以下三个条件:

1. 任意两边之和大于第三边;

2. 任意两边之差小于第三边。

同时,根据三角形的类型,可以判断如下:

1. 如果a=b=c,则是等边三角形;

2. 如果a=b或b=c或a=c,则是等腰三角形;

3. 如果都不满足上述条件,则是一般三角形。

【代码实现】

 java

public class TriangleType {

  public static void main(String[] args) {

    int a = 3, b = 4, c = 5;

    if (a+b > c && a+c > b && b+c > a) {

      if (a==b && b==c) {

        System.out.println("等边三角形");

      } else if (a==b || b==c || a==c) {

        System.out.println("等腰三角形");

      } else {

        System.out.println("一般三角形");

      }       

    } else {

      System.out.println("不能构成三角形");

    }   

  }

}

【关键词】

Java编程题,三角形,判断类型,代码案例。

题目二:反转字符串

【题目描述】

输入一个字符串,将其反转输出。

【解题思路】

为了将字符串反转,可以定义两个指针i和j,分别指向字符串的首尾两个字符,然后交换它们的位置。每次交换之后,i指向下一个位置,j指向前一个位置,继续交换,直到i>=j为止。

【代码实现】

 java

public class ReverseString {

  public static void main(String[] args) {

    String str = "hello world";

    char[] arr = str.toCharArray();

    int i = 0, j = arr.length-1;

    while (i < j) {

      char temp = arr[i];

      arr[i] = arr[j];

      arr[j] = temp;

      i++;

      j--;

    }

    System.out.println(new String(arr));    

  }

}

【关键词】

Java编程题,反转字符串,指针,代码案例。

题目三:找出重复数字

【题目描述】

输入一个整数数组,长度为n,其中的数字都在0~n-1之间,找出其中任意一个重复数字,例如输入[2, 3, 1, 0, 2, 5, 3],输出2或3。

【解题思路】

如果数组中不存在重复数字,那么按照从小到大排序后,第i个数字将对应数组的第i个位置。因此,可以从头扫描数组,每当扫描到下标为i的数字时,先比较它是否等于i,如果是,继续扫描下一个数字;如果不是,再将它与第arr[i]个数字进行比较,如果相等,则找到了一个重复数字;如果不相等,则将第i个数字和第arr[i]个数字交换。

【代码实现】

 java

public class FindDuplicateNumber {

  public static void main(String[] args) {

    int[] arr = 5;

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

      while (arr[i] != i) {

        if (arr[arr[i]] == arr[i]) {

          System.out.println(arr[i]);

          break;

        }

        int temp = arr[i];

        arr[i] = arr[arr[i]];

        arr[arr[i]] = temp;

      }       

    }

  }

}

【关键词】

Java编程题,重复数字,数组,交换,代码案例。

  
  

评论区

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