java使用多次Scanner的时候,怎么可以使用空格就可以输入下一个数据?

我想要1+2这样,而不是1回车+回车2这样,该怎么办?... 我想要1 + 2这样,而不是1回车+回车2这样,该怎么办? 展开
 我来答
gmc123453
2020-03-18 · TA获得超过340个赞
知道小有建树答主
回答量:706
采纳率:79%
帮助的人:109万
展开全部
为啥我记得我那时候空格可以了(或许是我把java和c混淆了。。。)
判断字符串,截取试试。输入1+2字符串。依次截取单个字符,字符转数字。根据符号不同。进行不同运算。(感觉我这好麻烦,一定有简单办法)。
空格如果算输入的话,再加两个scanner(这两个scanner不赋值)。
追答
感觉好久没碰java。脑子也绣了。
菜鸟程序员的成长之路
2020-03-18 · 专注基础,才能成为大神
菜鸟程序员的成长之路
采纳数:150 获赞数:345

向TA提问 私信TA
展开全部
两种方法,我都给你写出来,你对比一下,另外没有必要使用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;
}
}

}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式