例如,如果我有
0]+4
我如何阅读和吃零?
编辑:所以看起来我一直都不清楚。让我编辑一下。 我想要做的就是获得出现在一串数字和字符中的第一个整数。文本的第一部分总是一个整数。我可以有这个的任何组合。例如,我可以有以下任何一种:43SOMETEXT424
3blahblahblah64blahblahblah
5MoreText
我将分别从阅读本文中返回43,3和5。
答案 0 :(得分:0)
如果不知道你正在做什么的背景,这是一个很长的镜头......但是这段代码可行:
Integer.parseInt("0]+4".charAt(0));
如果你真的只想要'0',只需将你所拥有的值读入一个字符串,并在字符串的第一个字符上调用Integer.parseInt()
。
答案 1 :(得分:0)
试
int n = NumberFormat.getInstance().parse("0]+4").intValue();
奇怪,因为看起来似乎没有ParseException,这就是NumberFormat / DecimalFormat如何工作
答案 2 :(得分:0)
public static void main(String[] args) {
String s = "0]+4";
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
if (Character.isDigit(c)) {
System.out.println(c);
}
}
}
试试这个。我想这就是你想要的......是吗?
答案 3 :(得分:0)
public char getNumber(final String str){
final String onlyNumbers = str.replaceAll("[^0-9]", "");
return (char) (onlyNumbers.length() > 0 ? onlyNumbers.charAt(0) - '0' : -1);
}
考虑使用正则表达式。这不会解析负数,但我怀疑你需要在这里找到它们。
答案 4 :(得分:0)
你可以使用模式
Pattern pattern;
pattern = Pattern.compile("\\d");
String st=jTextField1.getText();
Matcher matcher = pattern.matcher(st);
system.out.prinl(matcher.group());
答案 5 :(得分:0)
public static void main(String[] args){
Scanner in=new Scanner(System.in)
int number=in.nextInt();
}
//put loop for nextInt fun as many time as you want to get the required number