JAVA面試題

JAVA面試題1 有一組N個數,想將數進行從小至大排好序,可是隻能經過下面的操做進行排序:html

         任取數組中的一個數而後將他防止在數組的最後一個位置。java

       問最少操做多少次能夠使得數組從小到大進行有序?面試

樣例輸入:19 2 4 16 10數組

樣例輸出:2函數

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

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

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

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

 

原文出處:https://www.cnblogs.com/zhangwduoduoj/p/10999812.html

相關文章
相關標籤/搜索