我的理解是写的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);
这个题目的坑就在java对溢出不报错上,如果做的完整点的话你需要自己去判断入参是否大于Integer.MAX_VALUE,小于Integer.MIN_VALUE,然后去做处理(抛异常等)
谢谢
整型不是int型吗?
这题目是哪个nc写的.
java从零到精通,里面的问题。。。。但是long型如果不强制转换成int型不是会出错吗。。。
@爱奇蜗牛的兔子: 完全不能理解啊这种题目有啥意义.
long型为什么会出错..你要拿来干嘛会出错.数据类型本身哪有什么出错这一说.
你把long型强转成int才会出错.如果这个long超过int的最大或最小值.就错了.
@吴瑞祥: 看到这种题目我也有点蒙圈,意思会不会是把byte、short和long型数据转换成int型呢?byte和short型没有问题,但是long型会报错,这样强制转换可以不?byte a=(byte)13444 大神,再者就是这个题目有没有答案呢。。凌乱了,香菇
@爱奇蜗牛的兔子: 这种题目就别做了.
所以说别买什么入门到精通这种书.乱七八糟的问题一大堆.
类型转换的知识点你自己知道一下就行了.学这些你还不如去百度:整数的机内表示.理解更深刻一些
@吴瑞祥: 好的,谢谢大神~。~
哈哈,书上没写这么做要练习的是什么么?
我去 看完章节后的题目。。
从入门到放弃,O(∩_∩)O~~,The Java™ Tutorials 其实官网的教程入门就很好。
看不懂英文,好尴尬
同样,最少看不懂78%。
我学了七年英语啊,have,has,is,are,was都还不会用。
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
这是我理解着你的思路编的程序,不知道有没有理解对~
谢谢!!