兼职招聘   兼职城市  

全国 切换城市
新闻资讯

您现在的位置: 兼职网网 > 兼职资讯 > 兼职专题

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

作者:兼职网 时间:2019-02-18
关于java开发工程师的面试,一般公司都会进行笔试,那么最有可能出的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;


  }

最新评论

Copyright © 2018-2022 All Rights Reserved

赣ICP备19007445号-2 兼职网(www.0010jz.com)