• JAVA面试题


    JAVA面试题1 有一组N个数,想将数进行从小至大排好序,但是只能通过下面的操作进行排序:

             任取数组中的一个数然后将他防止在数组的最后一个位置。

           问最少操作多少次可以使得数组从小到大进行有序?

    样例输入:19 2 4 16 10

    样例输出:2

    import java.util.Arrays;
    import java.util.Scanner;

    public class Test{
    public static void main(String[]args){

    Scanner sc = new Scanner(System.in);
    int []arr = new int[6];
    int count = 0;

    for(int i=1;i<=5;i++){
    arr[i] = sc.nextInt();
    }

    for(int i=0;i<5;i++){
    for(int j=arr.length-1-i;j-1>=1;j--){
    if(arr[j-1] > arr[j]){
    int temp = j-1;

    arr[0] = arr[j-1];

    while(temp+1 < arr.length){
    arr[temp] = arr[temp+1];
    temp++;
    }
    arr[5] = arr[0];
    count++;

    }
    }
    }
    System.out.println(count);
    }
    }

    JAVA面试题2   定义一个类,编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符

             串。但是要保证汉字不被截半个,如:张ABC 4,应该截为张AB,输入:张ABC王DEF 6,应该输出

                为:张ABC,而不是张ABC+王的半个。

    样例输入:张ABC 4

    样例输出:张AB

    import java.util.Scanner;

    public class Test {

    public static void main(String[] args) {


    Scanner scan=new Scanner(System.in);
    while(true) {

    String str=scan.next();
    int num=scan.nextInt();

    byte[] buf=str.getBytes();
    if(num<=buf.length) {

    int times=0;
    for(int i=0;i<num;i++) {
    if(buf[i]<0) {
    times++;
    }
    }
    if(times%2==1) {
    num--;
    }
    String out=new String(buf,0,num);
    System.out.println(out);
    System.out.println();
    }else {
    try {
    throw new MyException("截取字节数超出字符串长度...");
    } catch (MyException e) {
    e.printStackTrace();
    }
    }
    }

    }
    }

    class MyException extends Exception{
    public MyException(String msg) {
    super(msg);
    }
    }

  • 相关阅读:
    计算机网络
    JAVA基础--面试用
    springboot-高级(一)
    SQL语句(一)
    spring cloud
    ruoyi后台管理系统分析(六)----system包
    ruoyi后台管理系统分析(五)---quartz包
    Java基于opencv实现图像数字识别(一)
    Leetcode : eImplement strStr
    二叉树的前序、中序、后序遍历迭代实现
  • 原文地址:https://www.cnblogs.com/zjaiccn/p/10999812.html
Copyright © 2020-2023  润新知