java中的scanner的用法
import java.util.Scanner;
public class gf {
public static void main(String[] args) {
char sign;
while(true){
Scanner sign=new Scanner(System.in);
float a=10f,b=5f,c=0.0f;
System.out.println("+,-,*,/请选择一种运算符");
switch(sign)
{
case'+':c=a+b;break;
case'-':c=a-b;break;
case'*':c=a*b;break;
case'/':c=a/b;break;
default:
{
System.out.println("输入错误符号");
c=-1.0f;
}
}
if(c!=-1.0f)
System.out.println("a="+a+"b="+b+"c="+c);
}
}
}
请说明scanner是怎样使用的??请帮我改写使以上程序正常运行,特别是用到scanner的地方我是乱写的。。。。。请帮我改改 此题题目是:通过不同运算符号(+、-、*、/),对两个数执行相应的运算并输出结果。
答案:Java中的输出有标准的输出流System.out,那么输入怎么实现呢?当然现代的程序都使用GUI收集用户的输入,编写这种界面的程序需要使用较多的工具与技术,其实Java的API里有简单的输入方法,而且有控制台就可以实现.我们的主角就是:Scanner 要想通过控制台进行输入,首先要构造一个Scanner对象,它附属于"标准输入流"System.in
Scanner in = new Scanner(System.in);
现在我们就可以使用Scanner类的各种方法了,eg:
System.out.println("What's your name?");
String name = in.nextLine();
在这里使用nextLine方法的主要原因是输入行中可能包含空格.如果读取的是一个单词,则可调用
String firstName = in.next();
类似的,输入浮点数可用nextDouble方法
看我们的简单程序实现:
import java.util.*;//Scanner位于util包
public class HelloFriend
{
String name;
int age;
HelloFriend()
{
Scanner in = new Scanner(System.in);
//输入字符
System.out.println("What's your name?");
name = in.nextLine();
//输入整形数据
System.out.println("How old are U?");
age = in.nextInt();
}
void display()
{
System.out.println("Hello, "+name+". Next year U'll be "+(age+1));
}
}
public class InputTest
{
public static void main(String[] args)
{
HelloFriend aFriend = new HelloFriend();
aFriend.display();
}
}
scanner只是一个用于扫描输入文本的新的实用程序。
新改程序如下:当然一些异常处理就自己弄一下啦哈:
public class Gf {
public static void main(String [] args){
float a=10f,b=5f,c=0.0f;
Scanner in = new Scanner(System.in);
System.out.println("+,-,*,/请选择一种运算符");
char sign = in.nextLine().charAt(0);
switch(sign){
case '+':
c=a+b;
break;
case '-':
c=a-b;
break;
case '*':
c=a*b;
break;
case '/':
c=a/b;
break;
default:
System.out.println("输入错误符号");
c=-1.0f;
break;
}
if(c!=-1.0f){
System.out.println("a="+a+"b="+b+"c="+c);
}
}
}
在控制台程序中,向控制台输入数据
上一个:JAVA 和C#J究竟有什么区别啊 ?
下一个:java与c++有什么区别