![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
java使用多次Scanner的时候,怎么可以使用空格就可以输入下一个数据?
展开全部
为啥我记得我那时候空格可以了(或许是我把java和c混淆了。。。)
判断字符串,截取试试。输入1+2字符串。依次截取单个字符,字符转数字。根据符号不同。进行不同运算。(感觉我这好麻烦,一定有简单办法)。
空格如果算输入的话,再加两个scanner(这两个scanner不赋值)。
判断字符串,截取试试。输入1+2字符串。依次截取单个字符,字符转数字。根据符号不同。进行不同运算。(感觉我这好麻烦,一定有简单办法)。
空格如果算输入的话,再加两个scanner(这两个scanner不赋值)。
追答
感觉好久没碰java。脑子也绣了。
展开全部
两种方法,我都给你写出来,你对比一下,另外没有必要使用Scanner input = new Scanner(System.in);,使用一次就行了,只要不结束程序,可以一直使用这个
/**
*
*/
package com.zhidao.baidu.Test;
import java.util.Scanner;
/**
* @author Administrator
*
* 2020年3月17日 下午11:33:57
*/
public class Calculate {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int data1 = 0;
int data2 = 0 ;
int operType ;
String oper = "",
operResult = "";
Calculate calculate = new Calculate();
Scanner input = new Scanner(System.in);
System.out.println("欢迎进入计算系统");
System.out.println("--------------------------------");
System.out.println("1、三步计算法");
System.out.println("2、整体计算法");
operType = input.nextInt();
if(operType == 1) {
System.out.println("请输入第一个数字:");
data1 = input.nextInt();
System.out.println("请输入操作符:(+-*/)");
oper = input.next();
System.out.println("请输入第二个数字:");
data2 = input.nextInt();
}else {
System.out.println("请输入要计算的数字和操作(格式为a+b/a-b/a*b/a/b)");
operResult = input.next();
int index = 0;
if(operResult.indexOf("+") != -1) {
index = operResult.indexOf("+");
oper = "+";
data1 = new Integer(operResult.substring(0, index));
data2 = new Integer(operResult.substring(index,operResult.length()));
}else if(operResult.indexOf("-") != -1){
index = operResult.indexOf("-");
oper = "-";
data1 = new Integer(operResult.substring(0, index));
data2 = new Integer(operResult.substring(index+1,operResult.length()));
}else if(operResult.indexOf("*") !=-1) {
index = operResult.indexOf("*");
oper = "*";
data1 = new Integer(operResult.substring(0, index));
data2 = new Integer(operResult.substring(index+1,operResult.length()));
}else if(operResult.indexOf("/") != -1) {
index = operResult.indexOf("/");
oper = "/";
data1 = new Integer(operResult.substring(0, index));
data2 = new Integer(operResult.substring(index+1,operResult.length()));
}else {
System.out.println("输入错误");
}
}
calculate.oper(oper, data1, data2);
}
private void oper(String oper,int data1,int data2) {
double result;
switch(oper) {
case "+":
result = data1+data2;
System.out.println("结果:"+result);
break;
case "-":
result = data1-data2;
System.out.println("结果:"+result);
break;
case "*":
result = data1*data2;
System.out.println("结果:"+result);
break;
case "/":
result = data1/data2;
System.out.println("结果:"+result);
break;
}
}
}
/**
*
*/
package com.zhidao.baidu.Test;
import java.util.Scanner;
/**
* @author Administrator
*
* 2020年3月17日 下午11:33:57
*/
public class Calculate {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int data1 = 0;
int data2 = 0 ;
int operType ;
String oper = "",
operResult = "";
Calculate calculate = new Calculate();
Scanner input = new Scanner(System.in);
System.out.println("欢迎进入计算系统");
System.out.println("--------------------------------");
System.out.println("1、三步计算法");
System.out.println("2、整体计算法");
operType = input.nextInt();
if(operType == 1) {
System.out.println("请输入第一个数字:");
data1 = input.nextInt();
System.out.println("请输入操作符:(+-*/)");
oper = input.next();
System.out.println("请输入第二个数字:");
data2 = input.nextInt();
}else {
System.out.println("请输入要计算的数字和操作(格式为a+b/a-b/a*b/a/b)");
operResult = input.next();
int index = 0;
if(operResult.indexOf("+") != -1) {
index = operResult.indexOf("+");
oper = "+";
data1 = new Integer(operResult.substring(0, index));
data2 = new Integer(operResult.substring(index,operResult.length()));
}else if(operResult.indexOf("-") != -1){
index = operResult.indexOf("-");
oper = "-";
data1 = new Integer(operResult.substring(0, index));
data2 = new Integer(operResult.substring(index+1,operResult.length()));
}else if(operResult.indexOf("*") !=-1) {
index = operResult.indexOf("*");
oper = "*";
data1 = new Integer(operResult.substring(0, index));
data2 = new Integer(operResult.substring(index+1,operResult.length()));
}else if(operResult.indexOf("/") != -1) {
index = operResult.indexOf("/");
oper = "/";
data1 = new Integer(operResult.substring(0, index));
data2 = new Integer(operResult.substring(index+1,operResult.length()));
}else {
System.out.println("输入错误");
}
}
calculate.oper(oper, data1, data2);
}
private void oper(String oper,int data1,int data2) {
double result;
switch(oper) {
case "+":
result = data1+data2;
System.out.println("结果:"+result);
break;
case "-":
result = data1-data2;
System.out.println("结果:"+result);
break;
case "*":
result = data1*data2;
System.out.println("结果:"+result);
break;
case "/":
result = data1/data2;
System.out.println("结果:"+result);
break;
}
}
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询