例如,如果我有
0]+4
我如何阅读和吃零?
编辑:所以看起来我真的不清楚。让我编辑东西。我要做的就是获取出现在数字和字符字符串中的第一个整数。文本的第一个组成部分总是一个整数。我可以有这个的任何组合。例如,我可以拥有以下任何一种:
43SOMETEXT424
3blahblahblah64blahblahblah
5MoreText
阅读本文后,我将分别返回 43、3 和 5。
你可以使用模式
Pattern pattern;
pattern = Pattern.compile("\\d");
String st=jTextField1.getText();
Matcher matcher = pattern.matcher(st);
system.out.prinl(matcher.group());
在不知道您正在做的事情的上下文的情况下,这有点长镜头......但是这段代码可以工作:
Integer.parseInt("0]+4".charAt(0));
如果您真的只想要“0”,只需将您拥有的值读入字符串并调用字符串Integer.parseInt()
的第一个字符。
尝试
int n = NumberFormat.getInstance().parse("0]+4").intValue();
奇怪,因为看起来不会有 ParseException,这就是 NumberFormat / DecimalFormat 的工作原理
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);
}
}
}
尝试这个。我想这就是你想要的……是吗?
public char getNumber(final String str){
final String onlyNumbers = str.replaceAll("[^0-9]", "");
return (char) (onlyNumbers.length() > 0 ? onlyNumbers.charAt(0) - '0' : -1);
}
考虑使用正则表达式。这不会解析负数,但我怀疑你需要在这里找到它们。
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