当前位置:编程学习 > JAVA >>

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++有什么区别

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,