写在前面的话:一个月没有写博客了,赶快进来汇报一下这一个月我都做了些什么。考研专业:书单完成了两本,其中一本比较有分量的专业书打算再读一遍,这一遍着重梳理专业词汇;网课完结了一门,第二门进度一半,打算月中完结,进入到第三门实验中(或者咨询的那门,再看)专业课:计组目前在搁置中,不想去动,自从进入CPU章节之后就开始听天书,硬件我真的搞不懂,好难;前天搭建数据库搞了一下午,emmm大概有几次真的不想做了,不停地找博客来对应自己的问题,最后发现能发现问题并解决的人真的只能靠自己。以及准备开学,去直面即将来临的各门考试。
这个月开始怀疑自己的选择到底正不正确,以及自己是不是一个眼高手低、只会逃避的人,渐渐在书中坚定了意志,但是还是没有得到答案,那么我将会一直追问下去,如果没有人给我答案,那我就自己去寻找。
大概关于人生这条路,每个人都充满了疑惑,也没人能够回答我。
“我不相信掌纹能带给我什么,我只相信十指握成拳头的力量,它能带我创造一个全新的世界。”
这次没有什么复杂的类,只是一个我认为比较有趣的思维转换,刚开始解决这道题并不是用的这种算法,就一直出现精度错误,跳出来固有思维,又开始感叹,能放弃固有思维真的是一件很不容易的事情。
但很幸运,我掌握了这种能力。
No.11 小数转换为分数
题目:从标准输入中输入一个小数,编写程序将其转换成相应的分数显示,即转换为几又几分之几。
要求:
1、输入的小数包括整数部分、小数点和小数部分;整数部分和小数部分最多有7位数字;整数部分可以为0,若整数部分大于等于1,则其最高位不为0;小数部分的末尾数字不为零。
2、输出的分数应为最简分数,由三个数字组成:第一个数字代表整数部分(若分数小于1,则为0,否则输出的整数的最高位不为0),第二个数字代表分子,第三个数字代表分母,分子比分母小且不能再约分。
import java.util.Scanner;
public class Circle {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String n = in.next();
String str1 = null, str2 = null;
int i, j, c;
for(i = 0; i < n.length(); i++)
{
if(n.charAt(i) == '.')
{
str1 = n.substring(0, i);
str2 = n.substring(i + 1);
break;
}
}
i = str2.length();
c = (int) Math.pow(10, i);
int a = Integer.parseInt(str2);
int b = Integer.parseInt(str1);
for(j = 2; j <= a; j++)
{
if((a % j == 0) && (c % j == 0))
{
a = a / j;
c = c / j;
j = 1;
}
}
System.out.println(b + " " + a + " " + c);
}
}
laoleileilei
原创文章 7获赞 6访问量 775
关注
私信
展开阅读全文