首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

输入的数据如若不是要求类型的怎样自动转换

2011-11-20 
输入的数据如果不是要求类型的怎样自动转换是这个杨子的,我作一个题输入一个数x,那么输出1到x以及之间所有

输入的数据如果不是要求类型的怎样自动转换
是这个杨子的,我作一个题输入一个数x,那么输出1到x以及之间所有的整数,但是如果输入错误,给了个浮点数,怎样自动转换成整形的呢?
我的代码是...

import java.util.*;
public class printNumber {
public static void main(String[] args){
printNumbers();
}

public static void printNumbers(){
System.out.println("输入截至数据这里必须是整数");//如果这里给的输入错误不是整数那么程序则无法运行,得做一个什么呢??
Scanner console=new Scanner(System.in);
int n=console.nextInt();
for(int i=0;i<=n;i++)
{
System.out.print("["+i+"] ");
}
}

}


[解决办法]

Java code
      Scanner console = new Scanner(System.in);      String val = console.next();      int n = 0;            try {         n = Integer.parseInt(val);      }      catch(Exception e) {         n = (int) Float.parseFloat(val);      }            for(int i = 0; i <= n; i++) {         System.out.print("[" + i + "] ");      }
[解决办法]
探讨
Java code

Scanner console = new Scanner(System.in);
String val = console.next();
int n = 0;

try {
n = Integer.parseInt(val);
}
catch(Excep……

[解决办法]
Java code
public static void main(String args[]) {                Scanner console = new Scanner(System.in);        String s = console.next();        int n = 0;        try{            if(s.matches("[0-9]*[.]{1}[0-9]*")){//小数                double d = Double.parseDouble(s);                n = (int) d;            }else if(s.matches("[0-9]*")){//整数                n = Integer.parseInt(s);            }        }catch(Exception e){                    }        for (int i = 0; i <= n; i++) {            System.out.print("[" + i + "] ");        }    }
[解决办法]
import java.io.*;
public class printNumber {
public static void main(String[] args){
printNumbers();
}

public static void printNumbers(){
System.out.println("输入截至数据这里必须是整数");//如果这里给的输入错误不是整数那么程序则无法运行,得做一个什么呢??
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
String str;
try {
str = br.readLine();
int n = (int)Float.parseFloat(str);
for(int i=0;i<=n;i++)
{
System.out.print("["+i+"] ");
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
}
希望对你有用。。。
[解决办法]
for example
Java code
public static void printNumbers(){    while (true) {        System.out.println("输入截至数据这里必须是整数/输入[quit]退出程序");         Scanner console=new Scanner(System.in);        String data = console.nextLine();        int n = 0;        try {            if ("quit".equals(data)) {                System.out.println("退出程序。");                break;            }            n = Integer.parseInt(data);        } catch (Exception e) {            System.out.println("输入非法数据,请重试。");            continue;        }        for(int i=0;i<=n;i++)        {            System.out.print("["+i+"] ");        }    }} 

热点排行