首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用扫描仪时忽略连字符

使用扫描仪时忽略连字符
EN

Stack Overflow用户
提问于 2012-09-20 15:10:38
回答 4查看 904关注 0票数 1

在使用scanner时,有什么简单的方法可以忽略连字符吗?我有一个程序,将允许您购买一个区域(二维阵列),所以如果用户想要购买区域3-6,我想扫描仪把数字之前的连字符在行和数字后在列。有什么简单的方法可以做到这一点吗?

代码语言:javascript
复制
String[][] buyer = new String[10][15];
int row;
int column; 
System.out.print("Specify which area you want to buy: ");
row = scan.nextInt();
column = scan.nextInt();

String name;
System.out.print("Name of the buyer: ");
name = scan.nextLine();
buyer[row][colum] = name
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-09-20 15:15:38

如果您的输入始终采用此格式(num1-num2),则可以使用:

代码语言:javascript
复制
String area = scan.next();
StringTokenizer st = new StringTokenizer(area);
st.split("-");
int row = Integer.parse(st.nextToken());
int col = Integer.parse(st.nextToken());
票数 1
EN

Stack Overflow用户

发布于 2012-09-20 15:18:45

就我个人而言,我将其作为字符串读取,然后可以使用String.split()将其拆分为两个值,然后可以解析为int。不过,可能还有其他选择。

票数 0
EN

Stack Overflow用户

发布于 2012-09-20 15:21:57

扫描仪有一些坏的一面和一些好的一面,坏的一面是如果你不知道下一个字符是什么,这是不起作用的。

您可以使用Scanner.hasNextInt(),如果不是这样,那么将char for char读到hasNextInt是真的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12507642

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档