样例输入
20
样例输出
0
对数制转换熟悉就很easy了,除此之外Java自身还有数制转换的方法
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
// TODO Auto-generated method stub
int n,ans=0;
Scanner scanner=new Scanner(System.in);
n=scanner.nextInt();
while(n!=0) {
if(n%16>=10) {
ans++;
}
n=n/16;
}
System.out.println(ans);
scanner.close();
}
}
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int n,ans=0;
Scanner scanner=new Scanner(System.in);
n=scanner.nextInt();
String string=Integer.toHexString(n);
//System.out.println(string);
for(int i=0;i<string.length();i++) {
if(!(string.charAt(i)>='0'&&string.charAt(i)<='9')) {
ans++;
}
}
System.out.println(ans);
scanner.close();
}
}
================================================================================
题目描述
Kimi想用“_”号构成一个平行四边形并在屏幕上输出。 当输入一个大于等于2的正整数N时,屏幕上将显示一个由N_N个“*”组成的平行四边形。
例如:输入3,输出如下平行四边形。
***
***
***
输入
输入一个正整数N,1<N<=100。
输出
输出一个N行,每行N个“*”组成的平行四边形。
样例输入
3
样例输出
***
***
***
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int n;
Scanner scanner=new Scanner(System.in);
n=scanner.nextInt();
for(int i=n;i>0;i--) {
for(int j=i-1;j>0;j--) {
System.out.print(" ");
}
for(int k=0;k<n;k++) {
System.out.print("*");
}
System.out.println();
}
scanner.close();
}
}
===============================================================================
题目描述
因为某些原因,Jack和Rose没有办法参加毕业演出,他们两个的工作任务都将由劳模Tom来代替。
现在需要更新演职人员名单,将所有的Jack和Rose替换成Tom。 请你编写一段程序实现人员替换功能。
输入
单组输入。 输入一个字符串(可能有空格,字符串长度<=1e5),包含若干Jack和Rose。
输出
输出替换之后的字符串。
样例输入
Cameraman: Jack, Lighting engineer: Rose.
样例输出
Cameraman: Tom, Lighting engineer: Tom.
呵呵,这一题我又知道一个Java自带的方法,两行解决了
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
String s;
Scanner scanner=new Scanner(System.in);
s=scanner.nextLine();
s=s.replaceAll("Jack", "Tom");
s=s.replaceAll("Rose", "Tom");
System.out.println(s);
scanner.close();
}
}
===============================================================================
题目描述
自从学了素数以后,明明喜欢上了数字2、3和5。当然,如果一个数字里面只出现2、3和5这三个数字,他也一样喜欢,例如222、2355、223355。
现在他希望你能够帮他编写一个程序,快速计算出由2、3、5这三个数字组成的由小到大的第n个数,当然也包括2、3和5。
输入
每组输入数据占1行,每行输入一个正整数n。(n<=1000)
输出
每组输出数据占1行,即满足要求的第n个数。
样例输入
3
样例输出
5
这道题死磕了我好久,虽然在网上看到了一些别的解法,但还是坚持捣鼓出了自己的写法,可能有bug和不足
按照题意列出来几个就会发现这道题肯定是存在规律 的,所以我就穷思花了好一会找到了这么一列式子,
个位很好找,当n%3,余1各位上就是2,余2个位上就是3,整除也就是余0个位就是5,所以这也是为什么num[]={5,2,3},
而不是num[]={2,3,5}
然后十位上,2,3,5分别会连续3个的出现,如22,23,25;32,33,35;52,53,55;所以考虑要除3再取余,但是这时候我们会验算发现第六位数的十位是2,但是6/3%3=2,也就是会等于num[2]=3
,所以我们偏移一位得到(n-1)/3%3
依次类推,我们就发现了规律
但是怎么判断循环结束呢,从之前的验算中就能发现,如果(n-ans)<Math.pow(3, i)
那么(n-ans)/Math.pow(3, i)=0
,这时((n-ans)/(int)(Math.pow(3, i))%3)
的值会一直是0,不再有意义,所以结束循环的条件就是(n-ans)>=Math.pow(3, i)
可惜的是自己早就思路混乱了,写代码的时候好多细节没注意,导致修改了好久
过几天我可能还会去学习网上的其他解法,再整理一遍单独发出来
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
int n,ans=0,leix=1;
int num[]= {5,2,3};//储存5,2,3
int solut[]= new int[10];//储存答案
Scanner scanner =new Scanner(System.in);
n=scanner.nextInt();
int index=0;//下标从0开始
solut[index]=num[n%3];//获取个位的数字
index++;
leix=(int) Math.pow(3, 0);
ans+=leix;
for(int i=1;(n-ans)>=Math.pow(3, i);i++) {
int sum= ((n-ans)/(int)(Math.pow(3, i))%3);
leix=(int) Math.pow(3, i);
ans+=leix;
solut[index]=num[sum];
index++;
# 总结
其他的内容都可以按照路线图里面整理出来的知识点逐一去熟悉,学习,消化,不建议你去看书学习,最好是多看一些视频,把不懂地方反复看,学习了一节视频内容第二天一定要去复习,并总结成思维导图,形成树状知识网络结构,方便日后复习。
这里还有一份很不错的《Java基础核心总结笔记》,特意跟大家分享出来
**目录:**
![](https://img-blog.csdnimg.cn/img_convert/f9ccdfbdfe1158b914255a00234b5e3e.webp?x-oss-process=image/format,png)
**部分内容截图:**
![](https://img-blog.csdnimg.cn/img_convert/fc7282d780d20c0be901bd0c21078a88.webp?x-oss-process=image/format,png)
![](https://img-blog.csdnimg.cn/img_convert/a20f7a3154f6308c7390be5331873d49.webp?x-oss-process=image/format,png)
t) Math.pow(3, 0);
ans+=leix;
for(int i=1;(n-ans)>=Math.pow(3, i);i++) {
int sum= ((n-ans)/(int)(Math.pow(3, i))%3);
leix=(int) Math.pow(3, i);
ans+=leix;
solut[index]=num[sum];
index++;
# 总结
其他的内容都可以按照路线图里面整理出来的知识点逐一去熟悉,学习,消化,不建议你去看书学习,最好是多看一些视频,把不懂地方反复看,学习了一节视频内容第二天一定要去复习,并总结成思维导图,形成树状知识网络结构,方便日后复习。
这里还有一份很不错的《Java基础核心总结笔记》,特意跟大家分享出来
**目录:**
[外链图片转存中...(img-dwUjnoLx-1714525001622)]
**部分内容截图:**
[外链图片转存中...(img-gO0uU4R1-1714525001622)]
[外链图片转存中...(img-1sh2tPKB-1714525001622)]
> **本文已被[CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】](https://bbs.csdn.net/topics/618154847)收录**