java常见笔试编程题(一)
  1. 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,例如“人abc”,应该截为“人ab”;输入“人abc们”,应该截为“人abc”,而不是截为“人ab+们的半个”
public class Test01 {//按照字节数截取字符串public static void main(String[] args) {String str="我ABC";String str1="我ABC汉DEF";subStringByBytes(str, 4);subStringByBytes(str1, 6);}public static void subStringByBytes(String str,int len){if(str==null){return;}if(len>str.length()){len=str.length();}byte [] bytes=str.getBytes();//对是否出现截半做分类处理,如果出现了截半情况,则asc码值小于0if(bytes[len]<0) {String result = new String(bytes,0, len--);System.out.println("出现了截半情况,结果为:" + result);} else {String result = new String(bytes,0,len);System.out.println("没有出现截半情况,结果为:" + result);}}
}
  1. 输出指定范围内有多少个素数
public class Test02 {public static void main(String[] args) {method(101,200);}public static void method(int start,int end){int count=0;boolean flag=false;for(int i=start;i<=end;i++){for(int j=2;j<i;j++){if(i%j==0){flag=false;break;}else{flag=true;}}if(flag){count++;System.out.println(i);}}System.out.println(start+"到"+end+"之间有"+count+"个素数");}
}

3.判断一个数是不是2的次方

public class Test03 {public static void main(String[] args) {boolean b = method(16);if(b){System.out.println("是");}else{System.out.println("不是");}}public static boolean method(int num){boolean flag = false;if((num&(num-1))==0&&num>0){flag=true;}return flag;}
//  public static boolean method(int num){//      int k = 1;
//      boolean flag = false;
//      while(k <= num) {//          if(num == k){//              flag = true;
//          }
//          k = k * 2;
//      }
//
//      return flag;
//
//  }
}
  1. 每一个偶数都能拆分成两个素数之和
public class Test04 {public static void main(String[] args) {int num=24;if(num%2==0&&num>0){method(num);}}public static void method(int num){if(num!=2){List<Integer> primes = getPrime(num);for (int i = 0; i < primes.size(); i++) {for (int j = 0; j < primes.size(); j++) {if(primes.get(i)+primes.get(j)==num){System.out.println(primes.get(i)+"+"+primes.get(j)+"="+num);}}}}else if(num==2){System.out.println("2是素数,且不能拆分");}}public static List<Integer> getPrime(int num){List<Integer> list=new ArrayList<>();for(int i=2;i<=num;i++){boolean b=true;for(int j=2;j<i;j++){if(i%j==0){b=false;break;}}if (b) {list.add(i);}}return list;}
}

5.代码实现jdbc,并进行基本的操作

public class Test05 {public static void main(String[] args) {try {Class.forName("com.mysql.jdbc.Driver");Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "");Statement statement = conn.createStatement();String sql="select s_id from student";ResultSet rs = statement.executeQuery(sql);while(rs.next()){int id = rs.getInt(1);System.out.println(id);}} catch (Exception e) {e.printStackTrace();}}
}
  1. 有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数。
public class Test06 {public static void main(String[] args) {String str="中国 aadf 的111萨 bbb 菲的 zz 萨菲";Map<String, Integer> map = method(str);Set<Entry<String,Integer>> set=map.entrySet();for(Entry<String,Integer> e:set){System.out.println(e.getKey()+":"+e.getValue());}}public static Map<String,Integer> method(String str){Map<String,Integer> map=new HashMap<>();for(int i=0;i<str.length();i++){char c=str.charAt(i);Integer num=map.get(String.valueOf(c));if(num==null){num=1;}else{num=num+1;}map.put(String.valueOf(c), num);}return map;}
}

7.有数组 a[n],将数组元素顺序颠倒

public class Test07 {public static void main(String[] args) {int [] a={1,2,3,4,5};int[] newArray = method(a);System.out.println(Arrays.toString(newArray));}public static int[] method(int [] a){int temp;int len=a.length;for(int i=0;i<len/2;i++){temp=a[i];a[i]=a[len-1-i];a[len-1-i]=temp;}return a;}
}

8.金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)->(一千零一拾一元整)输出。

public class Test08 {public static void main(String[] args) {int money=2350230;String renMingBi = method(money);System.out.println(renMingBi);}public static String method(int money){char[] data = new char[]{'零','壹','贰','叁','肆','伍','陆','柒','捌','玖'};char[] units = new char[]{'元','拾','佰','仟','万','拾','佰','仟','亿'};StringBuffer sb=new StringBuffer();int unit=0;while(money!=0){sb.insert(0, units[unit++]);int num=money%10;sb.insert(0, data[num]);money/=10;}return sb.toString();}
}
  1. 给定一个字符串,打印 这个字符串的全排列。例如,输入为abc,输出为: abc acb bac bca cba cab
public class Test9 {public static void main(String[] args){String str = "abc";List<String> result = new ArrayList<>();getAllList(result, str.toCharArray(), 0);for(String each : result){System.out.println(each);}}public static void getAllList(List<String> result, char[] strs, int begin){if(begin == strs.length-1){result.add(String.valueOf(strs));}for(int i = begin; i < strs.length; i++){swap(strs, i, begin);getAllList(result, strs, begin+1);swap(strs, i, begin);}}private static void swap(char[] strs, int index1, int index2) {char temp = strs[index1];strs[index1] = strs[index2];strs[index2] = temp;}}

10.判断一个字符数组元素是否重复

public class Test11 {public static void main(String[] args) {char[] chars={'1','3','3'};System.out.println(method(chars));}public static boolean method(char [] chars){boolean flag=true;StringBuffer sb=new StringBuffer();for(int i=0;i<chars.length;i++){sb.insert(0, chars[i]);}String str=sb.toString();for(int i=0;i<str.length();i++){if(i!=str.lastIndexOf(str.charAt(i))){flag=false;}}return flag;}
}

java常见笔试编程题(一)相关推荐

  1. java常见笔试编程题_9道常见的java笔试选择题

    9道常见的java笔试选择题 1.关于Java编译,下面哪一个正确()(选择一项) A.Java程序经编译后产生machine code B.Java程序经编译后会生产byte code C.Java ...

  2. java集合笔试编程题_Java 基础算法及编程笔试题集合

    1. 斯诺克台球共有15个一分球,2,3,4,5,6,7分球各一个,规则是先打一个最低分球,然后可以打一个其他分值的球,如此反复,如果台面还有更低分值的球,打入的高分球计分,同时拿出来放回原位置,要求 ...

  3. 2017年爱奇艺校招Java研发笔试编程题(2个)

    相似单词变换 时间限制:C/C++语言 1000MS:其他语言 3000MS 内存限制:C/C++语言 65536KB:其他语言 589824KB 题目描述: 英文单词有很多非常相似,比如:see和s ...

  4. 2017年搜狗校招Java研发笔试编程题

    最终收敛值 时间限制:C/C++语言 2000MS:其他语言 4000MS 内存限制:C/C++语言 65536KB:其他语言 589824KB 题目描述: 假设a[n]是一个有n个元素的整型数组,定 ...

  5. 2017年携程旅游校招Java研发笔试编程题(3个)

    股票利润 时间限制:C/C++语言 1000MS:其他语言 3000MS 内存限制:C/C++语言 65536KB:其他语言 589824KB 题目描述: 假如一个数组中存储了一个股票,在一天交易窗口 ...

  6. 网易笔试编程题java_2017年网易校招笔试JAVA研发编程题

    为什么80%的码农都做不了架构师?>>> 尝试挑战了下网易2017校招的笔试编程题,共三题,AC第一题,第二题思考了很久勉强用一种low逼的方式完成,第三题没有完成,希望路过的ACM ...

  7. 经典笔试编程题--Java实现

    转载自  经典笔试编程题--Java实现 1.输入一个正数n,输出所有和为n的连续正数序列.  分析:设定两个指针,min指向和为n的连续正数序列的最小值,max指向和为n的连续正数序列最大值.sum ...

  8. 魔法币 java_网易2018校招笔试编程题-魔法币 java实现

    魔法币 原题 小易准备去魔法王国采购魔法神器,购买魔法神器需要使用魔法币,但是小易现在一枚魔法币都没有,但是小易有两台魔法机器可以通过投入x(x可以为0)个魔法币产生更多的魔法币. 魔法机器1:如果投 ...

  9. 2020哔哩哔哩校招后端开发笔试编程题总结

    2020哔哩哔哩校招后端开发笔试编程题总结 1.给定一个正整数N,试求有多少组连续正整数满足所有数字之和为N? (1 <= N <= 10 ^ 9) 暴力求解法: package Day4 ...

最新文章

  1. 10.VMware View 4.6安装与部署-view clint和view for ipad连接测试
  2. 个人博客系统的设计与实现_一个 Go 开发的快速、简洁、美观、前后端分离的个人博客系统...
  3. 两封邮件合并转发_卖家直呼!低价订单过多,listing合并竟被亚马逊封号!
  4. [芦半山]Binder的异常机制
  5. Django第二天笔记
  6. pl/sql developer 设置oracle的date类型默认显示样式
  7. vs2015配置python环境_Windows10系统安装vs2015+cocos2d-x 3.9开发环境的方法
  8. json字符串使用注意问题
  9. 加深认识与理解ADO.NET
  10. 异常处理汇总-运维系列
  11. 表迁移工具的选型-复制ibd的方法
  12. php获取文本中的大写字母个数,php字符串英文文本中大写字母,小写字母,空格,标点符号的个数统计...
  13. 每日一题/015/tr(AB)=tr(BA)/反对称矩阵的充要条件/如果 AA‘=-A^2,那么是反对称矩阵
  14. 数据库(员工信息表)
  15. opencv自带实例下载
  16. 《穷查理宝典》读书摘要和思维导图
  17. Linux下Pulseaudio的可视化管理---pavucontrol
  18. Preprocessor Macros添加无效
  19. 准备工作(正则表达式学习)
  20. Cloud Computing HCIP④-Fusion Access 桌面云

热门文章

  1. 用线性回归无编码实现文章浏览数预测
  2. 移动web调式利器---Rosin研究
  3. JavaScript判断浏览器Flash Player信息
  4. Docker下Nacos配置应用开发
  5. Windows8 新进展(9月24日)
  6. c# Bartender打印开发详解
  7. 如何做好小红书?从找好定位开始,这篇文章告诉你
  8. MySQL 8.0.31 集合操作INTERSECT和EXCEPT
  9. jquery判断字符串的长度,中英文都可
  10. 【houdini vex】在LOP网络中创建面与线