java控制台输入不换行

如题,连续输入3个变量的值,控制台每输入一次就要按下ENTER才能继续下一条语句,但是按了ENTER就会换行,我想让程序继续执行输入但不换行如何实现?例如:inta=in... 如题,连续输入3个变量的值,控制台每输入一次就要按下ENTER才能继续下一条语句,但是按了ENTER就会换行,我想让程序继续执行输入但不换行如何实现?
例如:int a=input.nextInt();int b=input.nextInt();int c=input.nextInt();最后控制台显示为:“abc”而不是:
“a
b
c
”求大神!
我的意思是,这3个变量不一定是同种类型的,比如我想要输入一行算式,那3个变量分别是2个INT和一个运算符char,我希望最后的结果是“数值+运算符+数值+"="+结果”
展开
 我来答
百度网友6f87babd4
推荐于2016-02-11 · TA获得超过1395个赞
知道小有建树答主
回答量:948
采纳率:50%
帮助的人:370万
展开全部
你可以先整行读出来,然后再用正则切开,再用switch判断。

import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String line = scanner.nextLine();
String[] split = line.split("\\b");//用单词边界来切词,“1+2”就被切成 "","1","+","2"
//System.out.println(Arrays.toString(split));
int num1 = Integer.parseInt(split[1]);
int num2 = Integer.parseInt(split[3]);
int ans = 0;
switch (split[2].charAt(0)) {
case '+':
ans = num1 + num2;
break;
case '-':
ans = num1 - num2;
break;
case '*':
ans = num1 * num2;
break;
case '/':
ans = num1 / num2;
break;
default:
break;
}
System.out.println( line+"="+ans);
}
}
nuist__long
2013-06-21
知道答主
回答量:45
采纳率:0%
帮助的人:19.4万
展开全部
不换行系统怎么知道你输入完了呢。
你可以这样实习,输入一个字符串,如“123”
然后在程序中将它分割成1 2 3 三个字符串,再分别转换成数字,如果有两位数字就输入”010203“两个一分。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
扰龙双玉0
2013-06-21
知道答主
回答量:20
采纳率:0%
帮助的人:8.8万
展开全部
纠结吧。那你不如就在一个input.nextInt()里面输入不就行了啊。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pangzhiming
2013-06-21 · TA获得超过374个赞
知道小有建树答主
回答量:787
采纳率:100%
帮助的人:345万
展开全部
你要实现什么功能说下。为什么要纠结abc? 你是不是希望 a="a"
b="ab" c="abc"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式