一道简单的java题,确费了我挺长时间的。
今日在网上偶然碰到一个初学者的java题目,就尝试的做了一下,但没想到一做就是接近一个钟头啊,看来java学习的路上还是路漫漫兮修远啊。
题目如下:
编写一个Java Application 程序,接受用户输入的一个浮点数,将其的整数部分和小数部分分别输出。
如:输入56.6 ,则有
整数部分:56
小数部分:0.6
输入-56.6 ,则有
整数部分:-56
小数部分:-0.6
我一开始的思路很简单就是接收一个double类型的用户输入d,然后用Math.floor()函数和Math.ceil()来求其整数部分,然后将其转换成int型i。然后用d-i求其小数部分。代码如下:
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Input your double number?");
double d = input.nextDouble();
if (d >= 0) {
int i = (int) Math.floor(d);
System.out.println("整数部分:"+i);
System.out.println("小数部分:"+(d - i));
} else {
int i = (int) Math.ceil(d);
System.out.println("整数部分:"+i);
System.out.println("小数部分:"+(d - i));
}
}
经过测试发现:整数部分的输出是没什么问题的。但是小数部分的输入有问题,具体数据如下:
Input your double number?
56.6
整数部分:56
小数部分:0.6000000000000014
Input your double number?
-56.6
整数部分:-56
小数部分:-0.6000000000000014
这是为什么呢?
很简单,在数据类型转换数据的精度出现了丢失。所以这个办�
相关文档:
①继承TimerTask,重写run方法
package bamboo.task;
import java.util.TimerTask;
public class TimeTaskTest extends TimerTask{
@Override
public void run() {
System.out.println("hi");
}
}
②通过timer来设置某个时间来调用,或者是相隔多长时间调用
package bamboo.test;
......
java同一用户登录问题
1.上个月也有讨论这个问题的,有好多人都发表了意见,但也没有标准的答案
我看到一个,:将SEssionID存入DB中,当你登录时,判断当前的SEssionID和DB
里是不是同一个,如果不是,说明是第二人登录了,那就将DB里的SESSIONID注销
然后再处理第二个登录.
2.在Context中建立一个Map <String,Sission>,� ......
BorderLayout
FlowLayout
GridLayout
GridBagLayout
CardLayout
BoxLayout
< type="text/javascript">
document.body.oncopy = function() {
if (window.clipboardData) {
......
http://www.cnblogs.com/anran_guojianjun/archive/2009/04/14/1435278.html
wait(),notify(),notifyAll()不属于Thread类,而是属于Object基础类,也就是说每个对像都有
wait(),notify(),notifyAll()
的功能.因为都个对像都有锁,锁是每个对像的基础,当然操作锁的方法也是最基础了.
先看java doc怎么说:
wait导致当 ......
大家都知道JAVA中 int 类型要转化成 String 类型,可以有三种方式,分别是:
* (1) String.valueOf(i)
* (2) Integer.toString(i)
* (3) i+""
因为前两天,写一个程序时,要用到 int 转 String ,并且数据量很大,因此想看看这三种方式的效率怎样,写了一下简单的测试程序,在此记录一下。
Java代码
public clas ......