一些简单的Java面试编程题

1.如何在不使用到临时变量的情况下,交换两个变量的值。

public class exchange {
    public static void main(String[] args) {
        int a = 3;
        int b = 4;
        a = a ^ b;
        b = a ^ b;
        a = b ^ a;
        System.out.println(a);
        System.out.println(b);
    }
}

这里用到的是一个数与另一个数进行两次异或运算的时候,得到的值还是本身。

2.如何判断一个字符串中数字,英文字母,汉字各自的数量。

import java.util.Scanner;

public class count {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s = sc.nextLine();
        int digitCount = 0;
        int chineseCount = 0;
        int englishCount = 0;
        for(int i = 0; i < s.length(); i++){
            char ch = s.charAt(i);
            if(ch <= '9' && ch >= '0'){
                digitCount++;
            }else if ((ch <= 'z' && ch >= 'a')||(ch <= 'Z' && ch >= 'A') ){
                englishCount++;
            }else{
                chineseCount++;
            }
        }
        System.out.println("数字有"+digitCount+"个,"+"汉字有"+chineseCount+"个,"+"英文字母有"+englishCount+"个。" );
    }
}

3.如何使一个字符串反转过来。

import java.util.ArrayList;
import java.util.Scanner;

public class fanxu {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s = sc.nextLine();
        ArrayList na = new ArrayList<>();
        ArrayList sa = new ArrayList<>();
        for(int i = 0; i<s.length(); i++){
            na.add(s.charAt(i));
        }
        for(int l = (na.size()-1); l>=0; l--){
            sa.add(na.get(l));
        }
        for(int i = 0; i<sa.size(); i++){
            System.out.print(sa.get(i));
        }
    }
}

4.统计字符串中出现最多的单词数量。

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class more {
    public static void main(String[] args) {
        long start = System.currentTimeMillis();
        Scanner sc = new Scanner(System.in);
        String s = sc.nextLine();
        s = s.replace('\'',' ');
        s = s.replace(',',' ');
        s = s.replace('.',' ');
        String[] arr = s.split("\\s+");
        Map<String,Integer> map = new HashMap<String,Integer>();
        ArrayList<String> list = new ArrayList<String>();
        for(String c: arr){
            if(map.containsKey(c)){
                Integer b =  map.get(c);
                b++;
                map.put(c,b);
            }else {
                map.put(c,1);
                list.add(c);
            }
        }
        int Max = 0;
        String Maxword = null;
        for(String s1:list){
            int s2 = map.get(s1);
            if (s2 > Max){
                Max = s2;
                Maxword = s1;
            }
        }
        long end = System.currentTimeMillis();
        System.out.println("程序运行时间为"+(end-start)+"毫秒");
        System.out.println("出现最多的单词为"+Maxword+","+"出现次数为"+Max+"次");
    }
}

5.打印出数组中重复的元素。

public class same {
    public static void main(String[] args) {
        int[] arr = {1,2,3,4,3,2,6};
        for(int i = 0; i<arr.length; i++){
            for(int j = i+1; j<arr.length; j++){
                if(arr[i] == arr[j]){
                    System.out.println(arr[i]);
                }
            }
        }
    }
}

6.将字符串转换成整型。

import java.util.Scanner;

import static java.lang.Character.isDigit;

public class zhuan {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s = sc.nextLine();
        for (int i = 0; i < s.length(); i++) {
            boolean a = Character.isDigit(s.charAt(i));
            if(a == false){
                System.out.println("该字符串非纯数字组成,无法转换成数字");
                return;
            }
        }
        int i = Integer.parseInt(s);
        System.out.println(i);
    }
}
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值