Java面试经典编程题
1、有1,2,2,3,4,5这6个数字,用Java写一个main函数,打印出所有不同的排列,如:512234
要求: '4’不能在第三位, '3’与’5’不能相连
package com.test;
/**
* 6个数字最小组合为122345
* 最大组合为543221
* 去除这中间规则不允许的即可
*/
public class PaiLie {
private static String[] notExistNumber = new String[] { “0”, “6”, “7”, “8”, “9” };
private static String[] mustExistNumber = new String[] { “1”, “2”, “2”, “3”, “4”, “5” };
private static boolean isValidNumber(String str) {
// 检查是否有非法数字
for (String number : notExistNumber) {
if (str.indexOf(number) >= 0) {
return false;
}
}
// 检查是否是这六个数字的组合,不能有222222或者334422等
for (String number : mustExistNumber) {
int temp = str.indexOf(number);
if (temp < 0) {
return false;
} else if ((str.indexOf(number, temp + 1) > temp)
&& str.charAt(temp) != ‘2’) {
return false;
}
}
// 检查4在不在第三位,是返回false
if (str.charAt(2) == ‘4’) {
return false;
}
// 检查是否存在’3’与’5’相连,有返回false
if (str.indexOf(“35”) >= 0 || str.indexOf(“53”) >= 0) {
return false;
}
return true;
}
public static void main(String[] args) {
for (int i = 122345; i < 543221; i++) {
if (isValidNumber(String.valueOf(i))) {
System.out.println(i);
}
}
}
}
2、一个数如果恰好等于它的因子之和, 这个数就称为”完数”,例如 6 = 1+2+3。编程找出0-1000以内的所有完数
package com.test;
public class WanShu {
private static boolean isWanShu(int shu){
int sum = 0;
for (int i = 1; i < shu; i++) {
if(shu%i==0){
sum+= i;
}
}
if(sum==shu){
return true;
}else{
return false;
}
}
public static void main(String[] args) {
for (int i = 1; i < 1000; i++) {
if(isWanShu(i)){
System.out.println(i);
};
}
}
}
3、当 n = 5 时,下列函数的返回值是:(A)
int foo(int n)
{
if(n<2)return n;
return foo(n-1)+foo(n-2);
}
A.5
B.7
C.8
D.1
解析:Result=foo(4)+foo(3)
foo(4)=foo(3)+foo(2)
foo(3)=foo(2)+foo(1)
foo(2)=foo(1)+foo(0)
foo(1)=1
foo(0)=0
所以foo(2)=1,foo(3)=2,foo(4)=3
4、下面程序输出的结果是(A)
static boolean foo(char c) {
System.out.print©;
return true;
}
public static void main(String[] args) {
int i = 0;
for (foo(‘A’); foo(‘B’) && (i < 2); foo(‘C’)) {
i++;
foo(‘D’);
}
}
A. ABDCBDCB
B. ABDCDBCB
C. ABDBCDCB
D. ABDBCDCB
解析:首先,必定是ABDC打头,排除C、D,随后执行foo(‘B’) && (i < 2)这一项,结果为B,可得出结果为A。执行顺序–foo(‘A’)–foo(‘B’)&&true–foo(‘D’)–foo(‘C’)–foo(‘B’)&&true–foo(‘D’)–foo(‘C’)–foo(‘B’)&&false–end
Java面试经典编程题相关推荐
- C语言面试经典编程题
C语言简单冒泡排序法: #include <stdio.h> int main(void) {int a[] ={900,2,3,888,1000};int n;int i;int j;i ...
- java 初级编程题_java基础经典编程题
java基础经典编程题 Monkey_peach代码 package com.sailor.game; /** * 题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第 ...
- Java基础2019最新Java面试经典题解析
Java基础2019最新Java面试经典题解析 1简述JVM.JRE.JDK的区别 JVM:java虚拟机 ,加载.class并运行.class JRE:java运行环境除了包含JVM以外还包含了运行 ...
- 2020年Java面试经典100问,进入BAT不是梦
本文由公众号「Java旅途」整理,设计到的内容由java基础.数据库.SSM框架.redis.消息队列.spring boot.spring cloud.git及一些前端知识.整理时间为2019-11 ...
- 【面试锦囊】14种模式搞定面试算法编程题(8-14)
面试锦囊之知识整理系列 面试锦囊系列一直有收到大家的反馈,包括后台内推成功的消息.朋友的同事从创业小公司成功跳到huawei等等,非常高兴小破号的这些整理分享能够真正地帮助到大家,以后也会继续.为了更 ...
- JAVA50道经典编程题
加强对基础知识的巩固提升,拓展逻辑思维. JAVA50道经典编程题: [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不 ...
- JavaSE经典编程题
JavaSE经典编程题 作者:田超凡 版权所有,转载请注明原作者,仿冒侵权必究法律责任 [程序1] TestRabb ...
- 数字IC设计工程师笔试面试经典100题-有答案
转自知乎答主ictown_数字IC设计工程师笔试面试经典100题-有答案-陈恩 1:什么是同步逻辑和异步逻辑?(汉王) 同步逻辑是时钟之间有固定的因果关系.异步逻辑是各时钟之间没有固定的因果关系. 同 ...
- csharp高级练习题:Codewars风格排名系统【难度:4级】--景越C#经典编程题库,不同难度C#练习题,适合自学C#的新手进阶训练
csharp高级练习题:Codewars风格排名系统[难度:4级]: 写一类称为用户被用来计算用户将通过一个类似于Codewars用途排名系统进展的量. 商业规则: 用户开始于秩-8,可以进步一路8. ...
最新文章
- Celery 使用(一)
- 导出jar插件_Fluttify输出的Flutter插件工程详解
- netbeans6.8_NetBeans 8.0的五个新性能提示
- 疯狂开店! 华为不甘心只卖车 | 次世代车研所
- 十六进制编辑器--HxD和FlexHex
- Mac电脑网页完整的长截图怎么截
- 电视信号服务器,基于Web服务器远程控制数字电视信号节目源再利用系统
- 建模阶段性总结(一)
- Spring Boot 集成 批处理框架Spring batch
- 互联网晚报 | 11月1日 星期一 | 小米之家第10000家店开业;中国移动11月4日首发上会;中国平安总资产首破10万亿元...
- Steam根目录下userdata文件夹命名规则
- 用Python调用OpenAI API进行文本创作
- c语言main必须返回int,C语言 错误:’:: main’必须返回’int’
- 《Beta Embeddings for Multi-Hop Logical Reasoning in Knowledge Graphs》论文阅读笔记
- linux中grep命令详解及使用示例
- UI5-Fiori初学者导航
- 方舟服务器物理机配置,方舟云服务器要什么配置
- ISCC2021—Retrieve_the_passcode
- 天美电竞发布品牌愿景背后:始于电竞,不止于电竞
- 博力扬LED大屏专用光纤收发器千兆单模单纤兼容诺瓦灵星雨德普达中德等
热门文章
- Android集成MuPDF,修改批注默认红色墨迹为黑色墨迹
- BOSS 直聘无条件取消大小周,薪资总额不变,能打消员工的顾虑吗?
- 运营商大数据实时获客
- 智慧赋能 高效监管 | 工程勘察作业与质量监管数字化平台
- 每日口语-旅游机场篇
- AI芯片的评价指标和对比(CPU/GPU/ASIC/FPGA)
- P:简单的代码生成程序
- MISC-audio
- 模型剪枝学习笔记--SlimYOLOv3:Narrower,Faster and Better for Real-Time UAV Application
- GTX1660Ti加ubuntu18.04安装NVIDIA470显卡驱动安装CUDA11.4加torch 1.8.0