java开发工程师笔试题大全(附答案)

java开发工程师笔试题大全(附答案)_兼职服务_时间陪伴

关于java开发工程师的面试,一般公司都会进行笔试,那么最有可能出的Java笔试题有哪些呢?小编为您整理了较为齐全的java开发工程师面试题及答案,希望您能顺利通过笔试!


【程序1】


题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。


程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:


(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。


(2)如果n <> k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。


(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。


import java.util.*;


public     class     lianxi04{


public static void main(String[] args) {


Scanner s = new Scanner(System.in);


System.out.print( "请键入一个正整数:     ");


int    n    = s.nextInt();


int k=2;


System.out.print(n + "=" );


while(k <= n) {


if(k == n) {System.out.println(n);break;}


else if( n % k == 0) {System.out.print(k + "*");n = n / k; }


else    k++;


}


}


}


【程序2】


题目:输出9*9口诀。


public class lianxi16 {


public static void main(String[] args) {


for(int i=1; i<10; i++) {


for(int j=1; j<=i; j++) {


System.out.print(j + "*" + i + "=" + j*i + "    " );


if(j*i<10){System.out.print(" ");}


}


System.out.println();


}


}


}


【程序3】


题目:输入3个数a,b,c,按大小顺序输出。


import java.util.Scanner;


public class lianxi34 {


public static void main(String[] args) {


Scanner s = new Scanner(System.in);


System.out.println("请输入3个整数:");


int a = s.nextInt();


int b = s.nextInt();


int c = s.nextInt();


if(a < b) {


int t = a;


a = b;


b = t;


}


if(a < c) {


int t = a;


a = c;


c = t;


}


if(b < c) {


int t = b;


b = c;


c = t;


}


System.out.println("从大到小的顺序输出:");


System.out.println(a + " " + b + " " + c);


}


}


【程序4】


题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少


public class lianxi13 {


public static void main(String[] args) {


for(int x =1; x<100000; x++) {


if(Math.sqrt(x+100) % 1 == 0) {


if(Math.sqrt(x+268) % 1 == 0) {


System.out.println(x + "加100是一个完全平方数,再加168又是一个完全平方数");


}


}


}


}


}


【程序5】


题目:利用条件运算符的嵌套来完成此题:学习成绩> =90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。


import java.util.*;


public class lianxi05 {


public static void main(String[] args) {


int x;


char grade;


Scanner s = new Scanner(System.in);


System.out.print( "请输入一个成绩: ");


x = s.nextInt();


grade = x >= 90   'A'


: x >= 60   'B'


:'C';


System.out.println("等级为:"+grade);


}


}


【程序6】


题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。


/*………………


*……题目意思似乎不能用length()函数     */


import java.util.*;


public class lianxi38 {


public static void main(String[] args) {


Scanner s = new Scanner(System.in);


System.out.println("请输入一个字符串:");


String str = s.nextLine();


System.out.println("字符串的长度是:"+str.length());


}


}


【程序7】


题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。


import java.util.*;


public class lianxi07 {


public static void main(String[] args) {


int digital = 0;


int character = 0;


int other = 0;


int blank = 0;


char[] ch = null;


Scanner sc = new Scanner(System.in);


String s = sc.nextLine();


ch = s.toCharArray();


for(int i=0; i


if(ch >= '0' && ch <= '9') {


digital ++;


} else if((ch >= 'a' && ch <= 'z') || ch > 'A' && ch <= 'Z') {


character ++;


} else if(ch == ' ') {


blank ++;


} else {


other ++;


}


}


System.out.println("数字个数: " + digital);


System.out.println("英文字母个数: " + character);


System.out.println("空格个数: " + blank);


System.out.println("其他字符个数:" + other );


}


}


【程序8】


题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。


import java.util.*;


public class lianxi08 {


public static void main(String[] args) {


long a , b = 0, sum = 0;


Scanner s = new Scanner(System.in);


System.out.print("输入数字a的值: ");


a = s.nextInt();


System.out.print("输入相加的项数:");


int n = s.nextInt();


int i = 0;


while(i < n) {


b = b + a;


sum = sum + b;


a = a * 10;


++ i;


}


System.out.println(sum);


}


}


【程序9】


题目:一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3.编程     找出1000以内的所有完数。


public class lianxi09 {


public static void main(String[] args) {


System.out.println("1到1000的完数有: ");


for(int i=1; i<1000; i++) {


int t = 0;


for(int j=1; j<= i/2; j++) {


if(i % j == 0) {


t = t + j;


}


}


if(t == i) {


System.out.print(i + "     ");


}


}


}


【程序10】


题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在     第10次落地时,共经过多少米 第10次反弹多高


public class lianxi10 {


public static void main(String[] args) {


double h = 100,s = 100;


for(int i=1; i<10; i++) {


s = s + h;


h = h / 2;


}


System.out.println("经过路程:" + s);


System.out.println("反弹高度:" + h / 2);


}


}


【程序11】


题目:有1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数 都是多少


public class lianxi11 {


public static void main(String[] args) {


int count = 0;


for(int x=1; x<5; x++) {


for(int y=1; y<5; y++) {


for(int z=1; z<5; z++) {


if(x != y && y != z && x != z) {


count ++;


System.out.println(x*100 + y*10 + z );


}


}


}


}


System.out.println("共有" + count + "个三位数");


}


}


【程序12】


题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润,求应发放奖金总数


import java.util.*;


public class lianxi12 {


public static void main(String[] args) {


double x = 0,y = 0;


System.out.print("输入当月利润(万):");


Scanner s = new Scanner(System.in);


x = s.nextInt();


if(x > 0 && x <= 10) {


y = x * 0.1;


} else if(x > 10 && x <= 20) {


y = 10 * 0.1 + (x - 10) * 0.075;


} else if(x > 20 && x <= 40) {


y = 10 * 0.1 + 10 * 0.075 + (x - 20) * 0.05;


} else if(x > 40 && x <= 60) {


y = 10 * 0.1 + 10 * 0.075 + 20 * 0.05 + (x - 40) * 0.03;


} else if(x > 60 && x <= 100) {


y = 20 * 0.175 + 20 * 0.05 + 20 * 0.03 + (x - 60) * 0.015;


} else if(x > 100) {


y = 20 * 0.175 + 40 * 0.08 + 40 * 0.015 + (x - 100) * 0.01;


}


System.out.println("应该提取的奖金是 " + y + "万");


}


}


【程序13】


/*按题意循环应该从-100开始(整数包括正整数、负整数、零),这样会多一个满足条件的数-99。


但是我看到大部分人解这道题目时都把题中的“整数”理解成正整数,我也就随大流了。*/


【程序14】


题目:输入某年某月某日,判断这一天是这一年的第几天


import java.util.*;


public class lianxi14 {


public static void main(String[] args) {


int year, month, day;


int days = 0;


int d = 0;


int e;


input fymd = new input();


do {


e = 0;


System.out.print("输入年:");


year =fymd.input();


System.out.print("输入月:");


month = fymd.input();


System.out.print("输入天:");


day = fymd.input();


if (year < 0 || month < 0 || month > 12 || day < 0 || day > 31) {


System.out.println("输入错误,请重新输入!");


e=1 ;


}


}while( e==1);


for (int i=1; i


switch (i) {


case 1:


case 3:


case 5:


case 7:


case 8:


case 10:


case 12:


days = 31;


break;


case 4:


case 6:


case 9:


case 11:


days = 30;


break;


case 2:


if ((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0)) {


days = 29;


} else {


days = 28;


}


break;


}


d += days;


}


System.out.println(year + "-" + month + "-" + day + "是这年的第" + (d+day) + "天。");


}


}


class input{


public int input() {


int value = 0;


Scanner s = new Scanner(System.in);


value = s.nextInt();


return value;


}

<p

88
57
0
39

相关资讯

  1. 1、深圳异地车牌限行路段4562
  2. 2、成都青白江区港澳通行证办理入口3125
  3. 3、苏e行可以坐地铁吗1583
  4. 4、厦门医保中心电话2351
  5. 5、河北省退伍老兵补贴标准是多少?3946
  6. 6、天津外地车限行规定4813
  7. 7、济南离职人员如何申领社保卡3195
  8. 8、苏州可以进外地车吗64
  9. 9、深圳大梅沙限行预约4299
  10. 10、海口幼升小琼山区学校划片范围635
全部评论(0)
我也有话说
0
收藏
点赞
顶部