首页编程java编程java输入语句 Java编译器

java输入语句 Java编译器

编程之家2026-05-20873次浏览

老铁们,大家好,相信还有很多朋友对于java输入语句和Java编译器的相关问题不太懂,没关系,今天就由我来为大家分享分享java输入语句以及Java编译器的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!

java输入语句 Java编译器

java键盘输入语句怎么写

程序开发过程中,需要从键盘获取输入值是常有的事,但Java它偏偏就没有像c语言给我们提供的scanf(),C++给我们提供的cin()获取键盘输入值的现成函数!Java没有提供这样的函数也不代表遇到这种情况我们就束手无策,请你看以下三种解决方法吧:

以下将列出几种方法:

方法一:从控制台接收一个字符,然后将其打印出来

public static void main(String [] args) throws IOException{

System.out.print(“Enter a Char:”);

char i=(char) System.in.read();

java输入语句 Java编译器

System.out.println(“your char is:”+i);

}

}

虽然此方式实现了从键盘获取输入的字符,但是System.out.read()只能针对一个字符的获取,同时,获取进来的变量的类型只能是char,当我们输入一个数字,希望得到的也是一个整型变量的时候,我们还得修改其中的变量类型,这样就显得比较麻烦。

方法二:从控制台接收一个字符串,然后将其打印出来。在这个题目中,我们需要用到BufferedReader类和InputStreamReader类

public static void main(String [] args) throws IOException{

java输入语句 Java编译器

BufferedReader br= new BufferedReader(new InputStreamReader(System.in));

String str= null;

System.out.println(“Enter your value:”);

str= br.readLine();

System.out.println(“your value is:”+str);

}

这样我们就能获取我们输入的字符串。

方法三:这种方法我认为是最简单,最强大的,就是用Scanner类

public static void main(String [] args){

Scanner sc= new Scanner(System.in);

System.out.println(“请输入你的姓名:”);

String name= sc.nextLine();

System.out.println(“请输入你的年龄:”);

int age= sc.nextInt();

System.out.println(“请输入你的工资:”);

float salary= sc.nextFloat();

System.out.println(“你的信息如下:”);

System.out.println(“姓名:”+name+“

”+“年龄:”+age+“

”+“工资:”+salary);

}

java如何输入一个整数

可以通过”Scanner“函数直接输入参数的形式,来实现输入语句,举例:\x0d\x0aimport java.util.Scanner;\x0d\x0apublic class Test{\x0d\x0apublic static void main(String[] args){\x0d\x0aScanner input=new Scanner(System.in);\x0d\x0aSystem.out.println("请输入一个整数:");\x0d\x0aint length=input.nextInt();//输入一个整数\x0d\x0aSystem.out.println("输入的整数是:"+length);}\x0d\x0a}\x0d\x0a备注:Scanner函数就是用来进行语句输入的,上面举例的是整数类型,也可以用以下语句“String length=input.next()”,输入的就是字符串类型等。\x0d\x0a判断是否为整数的方法:\x0d\x0a方法一\x0d\x0apackage homeWork;\x0d\x0a\x0d\x0a\x0d\x0aimport java.io.BufferedReader;\x0d\x0aimport java.io.IOException;\x0d\x0aimport java.io.InputStreamReader;\x0d\x0a\x0d\x0a\x0d\x0apublic class Test2{\x0d\x0a\x0d\x0a\x0d\x0apublic static void main(String[] args){\x0d\x0aBufferedReader bReader= null;\x0d\x0abReader= new BufferedReader(new InputStreamReader(System.in));\x0d\x0atry{\x0d\x0aString line= null;\x0d\x0aint sum= 0;\x0d\x0afor(int i= 0; i< 2; i++){\x0d\x0aSystem.out.println("请输入第"+(i+ 1)+"整数");\x0d\x0a//获取键盘输入的数据\x0d\x0aline= bReader.readLine();\x0d\x0a//判断是否是数字\x0d\x0aif(line.matches("[0-9]+")){\x0d\x0a//将数字字符串转成Integer类型\x0d\x0asum+= Integer.parseInt(line);\x0d\x0a} else{\x0d\x0ai--;\x0d\x0acontinue;\x0d\x0a}\x0d\x0a}\x0d\x0aSystem.out.println(sum);\x0d\x0a\x0d\x0a\x0d\x0a} catch(IOException e){\x0d\x0a// TODO Auto-generated catch block\x0d\x0ae.printStackTrace();\x0d\x0a}\x0d\x0a\x0d\x0a\x0d\x0a}\x0d\x0a\x0d\x0a\x0d\x0a}\x0d\x0a\x0d\x0a//方法二\x0d\x0apackage homeWork;\x0d\x0a\x0d\x0a\x0d\x0aimport java.io.BufferedReader;\x0d\x0aimport java.io.IOException;\x0d\x0aimport java.io.InputStreamReader;\x0d\x0a\x0d\x0a\x0d\x0apublic class Test3{\x0d\x0a\x0d\x0a\x0d\x0apublic static void main(String[] args){\x0d\x0aint sum= 0;\x0d\x0aint count= 0;\x0d\x0aString line= null;\x0d\x0aBufferedReader bReader= null;\x0d\x0ado{\x0d\x0aSystem.out.println("请输入第"+(count+ 1));\x0d\x0a//创建缓冲字符输入流,从键盘输入数据\x0d\x0abReader= new BufferedReader(new InputStreamReader(System.in));\x0d\x0atry{\x0d\x0a//获取数据\x0d\x0aline= bReader.readLine();\x0d\x0a//判断是否是整数\x0d\x0aif(line.matches("[0-9]+")){\x0d\x0asum+= Integer.parseInt(line);\x0d\x0acount++;\x0d\x0a}\x0d\x0a} catch(IOException e){\x0d\x0a// TODO Auto-generated catch block\x0d\x0ae.printStackTrace();\x0d\x0a}\x0d\x0a//判断数据个数是否满足需求\x0d\x0a} while(count< 2);\x0d\x0aSystem.out.println("两个整数之和为:"+ sum);\x0d\x0atry{\x0d\x0aif(bReader!= null){\x0d\x0abReader.close();\x0d\x0a}\x0d\x0a} catch(IOException e){\x0d\x0a\x0d\x0a\x0d\x0ae.printStackTrace();\x0d\x0a}\x0d\x0a}\x0d\x0a\x0d\x0a\x0d\x0a}

Java输入问题

先说一下为什么会出现这种情况。

第一点,请记住你在 System.in中输入的任何东西(包括空格回车等)都是字符(char),比如你输入了 1,这个是字符的'1',而不是 1这个整数。只有经过一些方法的修改后(比如 Integer.parseInt()),这个字符'1'才会变成真正的整数 1。

另外,在 Java中,每个字符都有其一个对应的整数值,也就是 ASCII码表中的对应数值,比如字符'1'对应的整数是 49,字符'

'对应的整数是 13,字符'-'对应的整数是 45。你可以看一下下面的ASCII码表寻找对应的关系(图中的 Carriage Return即为回车,也就是 Java中的'

')。

现在看题主所用的 BufferedReader的 read()方法。这个方法会返回一个整数,但这个整数并不是你输入的那个整数,而是输入流中的下一个字符在 ASCII码表中的整数值。你首先用了

num1=input.read();也就是说 num1是 input所代表的输入流(也就是标准输入 System.in)中的下一个字符在 ASCII码表中的整数值。这时你在屏幕上输入了 1并按了回车,这就相当于在标准输入 System.in中输入了

"1

"这个字符串。它由两个字符'1'和'

'组成,在 ASCII码表中的值分别为 49和 13。因为 num1是下一个字符,也就是'1',所以 num 1的值就是 49。

然后你又读取了 num 2,仍然以

num2=input.read();的方法,这时 input中没有读取的还有一个字符'

',所以系统不会让你再次输入,而是直接读取了这个'

'并把它代表的整数值 13赋给了 num2。所以 num2现在就是 13。

这样两数相加就是 62了。

你后面的几个输入都可以根据 ASCII码表这么看,比如输入了-1回车,这个字符串就由'-','1','

'三个字符组成,num1读取了第一个'-',也就是对应的 ASCII码值 45,num2读取了第二个'1',也就是对应的 ASCII码值 49,那么两数相加自然就是 94了。

至于修改方法,另外两位已经说得很详细了,可以用 BufferedReader的 readLine()或者 Scanner的 nextInt()方法。要注意的就是 readLine()方法读取的是一个字符串,要用 Integer.parseInt()方法来将它转换为整数。

END,本文到此结束,如果可以帮助到大家,还望关注本站哦!

java的环境变量怎么配置?安装jdk1.8并配置环境变量c语言编程例题?c语言教程