首页 新闻 会员 周边

编写java程序,将所有的整形数值转换成int型,并将转换后的结果输出,大神们,请问怎么写?

0
[已解决问题] 解决于 2017-11-17 15:45

我的理解是写的java程序是把所有的整形数值全部转换并输出(所有正负数及0),下面是我写的,新人求指点。。

public class Test5 {
public static void main(String[] args){
long a=1;
int b=(int)a++;
int c=(int)a--;
System.out.println(b);
System.out.println(c);

爱奇蜗牛的兔子的主页 爱奇蜗牛的兔子 | 初学一级 | 园豆:188
提问于:2017-02-14 10:45
< >
分享
最佳答案
0

这个题目的坑就在java对溢出不报错上,如果做的完整点的话你需要自己去判断入参是否大于Integer.MAX_VALUE,小于Integer.MIN_VALUE,然后去做处理(抛异常等)

奖励园豆:5
Daniel Cai | 专家六级 |园豆:10424 | 2017-02-16 10:03

谢谢

爱奇蜗牛的兔子 | 园豆:188 (初学一级) | 2017-02-17 12:06
其他回答(4)
1

整型不是int型吗?

这题目是哪个nc写的.

吴瑞祥 | 园豆:29449 (高人七级) | 2017-02-14 10:53

java从零到精通,里面的问题。。。。但是long型如果不强制转换成int型不是会出错吗。。。

支持(0) 反对(0) 爱奇蜗牛的兔子 | 园豆:188 (初学一级) | 2017-02-14 10:57

@爱奇蜗牛的兔子: 完全不能理解啊这种题目有啥意义.

long型为什么会出错..你要拿来干嘛会出错.数据类型本身哪有什么出错这一说.

你把long型强转成int才会出错.如果这个long超过int的最大或最小值.就错了.

支持(0) 反对(0) 吴瑞祥 | 园豆:29449 (高人七级) | 2017-02-14 11:00

@吴瑞祥: 看到这种题目我也有点蒙圈,意思会不会是把byte、short和long型数据转换成int型呢?byte和short型没有问题,但是long型会报错,这样强制转换可以不?byte a=(byte)13444    大神,再者就是这个题目有没有答案呢。。凌乱了,香菇

支持(0) 反对(0) 爱奇蜗牛的兔子 | 园豆:188 (初学一级) | 2017-02-14 11:13

@爱奇蜗牛的兔子: 这种题目就别做了.

所以说别买什么入门到精通这种书.乱七八糟的问题一大堆.

类型转换的知识点你自己知道一下就行了.学这些你还不如去百度:整数的机内表示.理解更深刻一些

支持(0) 反对(0) 吴瑞祥 | 园豆:29449 (高人七级) | 2017-02-14 11:34

@吴瑞祥: 好的,谢谢大神~。~

支持(0) 反对(0) 爱奇蜗牛的兔子 | 园豆:188 (初学一级) | 2017-02-14 11:36
0

哈哈,书上没写这么做要练习的是什么么?

闪存第一道人 | 园豆:459 (菜鸟二级) | 2017-02-14 12:26

我去  看完章节后的题目。。

支持(0) 反对(0) 爱奇蜗牛的兔子 | 园豆:188 (初学一级) | 2017-02-14 14:10
0

从入门到放弃,O(∩_∩)O~~,The Java™ Tutorials 其实官网的教程入门就很好。

创心coder | 园豆:736 (小虾三级) | 2017-02-14 14:00

看不懂英文,好尴尬

支持(0) 反对(0) 爱奇蜗牛的兔子 | 园豆:188 (初学一级) | 2017-02-14 14:11

同样,最少看不懂78%。

我学了七年英语啊,have,has,is,are,was都还不会用。

 

 

支持(0) 反对(0) 荆棘人 | 园豆:410 (菜鸟二级) | 2017-02-14 16:26
0
 1 public class Test {
 2 
 3     //设置一个比较小的值,如果double类型的小数点部分的值小于这个值,就认为它是整数
 4     private final static double min=0.000001;
 5     public static void main(String[] args) {
 6         //创建浮点类型数组
 7         double []d={1.0,1.2,1.01,1.4,4.0,5.0,5.1};
 8         //创建整数数组,用于接收转换的数字
 9         int []a=new int[d.length];
10         //设置一个变量用来统计满足条件的数字的个数
11         int j=0;
12         for(int i=0;i<d.length;i++){
13             //判断是否double类型的数除以1的余数是否接近
14             if(d[i]%1<min){//这里换成d[i]%1==0  一般的话也行
15                 //进行强制转换,转换成为的整数,放到a数组中
16                 a[j]=(int)d[i];
17                 j++;
18             }
19         }
20         //遍历满足条件的数字,以int型打印
21         System.out.println("有整数:");
22         for(int i=0;i<j;i++){
23             System.out.print(a[i]+" ");
24         }
25     }
26 }

运行结果:

 1 有整数:

2 1 4 5  

这是我理解着你的思路编的程序,不知道有没有理解对~

小调~ | 园豆:190 (初学一级) | 2017-02-16 18:36

谢谢!!

支持(0) 反对(0) 爱奇蜗牛的兔子 | 园豆:188 (初学一级) | 2017-02-17 12:06
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册