黑马程序员技术交流社区

标题: 为什么无论输入什么参数,返回值都是1234,请解答谢谢 [打印本页]

作者: 姚伟涛    时间: 2012-4-14 20:15
标题: 为什么无论输入什么参数,返回值都是1234,请解答谢谢
  1. import java.lang.*;
  2. import java.io.*;
  3. public class Assignment{
  4. static int test(int val){
  5. if(val>13)
  6. return 1234;
  7. else  
  8. return 321;

  9. }
  10. public static void main(String args[]){
  11. try{

  12. System.out.println("please enter a integer:");
  13. int as=System.in.read();
  14. int SS=Assignment.test(as);

  15. System.out.println("test:"+SS);
  16. }
  17. catch(IOException ioe){
  18. System.out.println("you are error!!!");}
  19. }
  20. }
复制代码

作者: 马强    时间: 2012-4-14 20:26
16行 assignment就错了
是想输入一个数字,之后判断返回值吧
作者: chenwei    时间: 2012-4-14 20:37
本帖最后由 chenwei 于 2012-4-14 20:38 编辑

int as=System.in.read(); 接受的是一个字符串转化的码表值
作者: 蒋亮    时间: 2012-4-14 20:56
把int as=System.in.read(); 改为int as=Integer.parseInt(System.in.read());试试
作者: 韩新凯    时间: 2012-4-14 22:51
我感觉,这个程序如果导入Scanner类的话会比较简单,也不用去处理异常。
import java.lang.*;
import java.util.Scanner;
import java.io.*;
public class Assignment{
static int test(int val){
if(val>13)
return 1234;
else  
return 321;

}
public static void main(String args[]){
        Scanner sc = new Scanner(System.in);
       
System.out.println("please enter a integer:");
int as= sc.nextInt();
int SS=Assignment.test(as);

System.out.println("test:"+SS);
}
}
作者: 韩新凯    时间: 2012-4-14 22:52
上面代码的java.lang.*;和java.io.*;可以不用导入




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2