Java机试题1

—以下的机试题建议在校生、实习生或者1年工作经验的小伙伴看,面对实习生,面试官都主要还是问Java基础,基础过硬什么都好说。

注意事项:面试都是本人经历过的机试(也有我小伙伴的面试题)个人总结有限,小伙伴如果觉得总结不满意可以copy题目到其他地方。

每篇文章发布5个左右的机试题

建议收藏,不定时更新机试题!
↑↑↑(看这里)

问:(本题来自:京华信息)

List list = Arrays.asList(new String[] {“1,张三,50”,“2,李四,80”,“3,王五,40”,“4,张三,90”,“5,王五,70”});

要求:
//1.输出所有同学的名字及其平均分
//2.按平均分升序
//有3和4,记不太清,也不是主要的要求,反正就是代码规范之类的
要求结果如下:
在这里插入图片描述
参考代码:

package com.neuedu.test;

import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
import java.util.TreeSet;

public class Exam {

	public static void main(String[] args) {
		List<String> list = Arrays.asList(new String[] {"1,张三,50","2,李四,80","3,王五,40","4,张三,90","5,王五,70"});
		//1.输出所有同学的名字及其平均分
		//2.按平均分升序
		Map<String,Integer> h = new HashMap();
		Map<String,Integer> h2 = new HashMap();//计算h的key的次数
		String i = null;//h的key
		Integer j = null;//h的value
		for (String string : list) {
			i = string.substring(2,4);//将名字截取到i中
			j = Integer.parseInt(string.substring(5));//将数成绩截取到j中
			
			if(h.get(i)==null) {
				h.put(i,j);//如果没有当前key,在h中插入key
				h2.put(i,1);//并且打开当前key的次数,value=1;value就是记次数的
			}else {
				h.put(i,h.get(i)+j);
				h2.put(i,h2.get(i)+1);
			}		
//			System.out.println(h.toString());	
		}
		//遍历Map
		for(Map.Entry<String, Integer> entry : h.entrySet()){
		    String mapKey = entry.getKey();
		    Integer mapValue = entry.getValue();
		    Integer zz = mapValue/h2.get(mapKey);
		    h.put(mapKey,zz);
		}
		//遍历输出
		for (Map.Entry<String, Integer> entry : h.entrySet()) {
			System.out.println(entry.getKey()+"\t"+entry.getValue());
		}

	}

}

输出结果与上图一样

那么这里和大家解释一下部分
1.用Map是为了通过key得到相应的value,同时这个方法也比较容易理解。
2.后两个遍历Map集合是需要自己个人硬实力的,你得要知道Map.Entry和entrySet(本人试过,自动遍历遍历不出来)

问:110元,洗剪吹31元,可以多少次洗剪吹?最后还剩多少?

public class Test {
	/*
	 * 110元,洗剪吹31元,可以多少次洗剪吹?最后还剩多少?
	 * */
	public void theFirstQuestion() {
		System.out.println("=============================");
		System.out.println("第1题");
		int money=110;//钱
		int xjc=31;//洗剪吹
		System.out.println("洗了:"+money/xjc+"次");
		System.out.println("还剩:"+money%xjc+"元");
	}
	
	public static void main(String[] args) {
		Test test = new Test();
		test.theFirstQuestion();
	}
	
}

问:打印九九乘法表

public class Test {
	/*
	 * 打印九九乘法表
	 * */
	private void theSecondQuestion() {
		for(int i=0;i<10;i++) {
			
			for(int j=1;j<=i;j++) {
				System.out.print(i+"*"+j+"="+i*j+"\t");
			}
			System.out.println();
		}
	}

	public static void main(String[] args) {
		Test test = new Test();
		test.theSecondQuestion();
	}
	
}

问:接受用户输入的5门功课并且计算平均分。

public class Test {
	/*
	 * 4、接受用户输入的5门功课并且计算平均分。
	 * */
	public void theFourQuestion() {
		System.out.println("=============================");
		System.out.println("第4题");
		int sum=0;
		for(int i=1;i<=5;i++) {
			System.out.println("请输入第"+i+"个数:");
			Scanner scanner = new Scanner(System.in);
			int str = scanner.nextInt();
			sum+=str;
		}
		
		System.out.println("平均值为:"+sum/5);
	}

	public static void main(String[] args) {
		Test test = new Test();
		test.theFourQuestion();
	}
	
}

持续更新中…记得收藏+关注哦~

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页