Java 从字符串代码名中删除一个字符
我试图从一个有数字的字符串中删除一个%符号,大约80%。我正在尝试获取数字并放弃%并将其转换为整数。我尝试了:Java 从字符串代码名中删除一个字符,java,string,int,Java,String,Int,我试图从一个有数字的字符串中删除一个%符号,大约80%。我正在尝试获取数字并放弃%并将其转换为整数。我尝试了: String sPorcentage = findECor1().getSelectedItem().toString(); int porcentage = Integer.parseInt(sPorcentage.replaceAll("%", "")); zona1.moveAllCurtains(porcentage); 它可以工作,但控制台显示: 697: error: c
String sPorcentage = findECor1().getSelectedItem().toString();
int porcentage = Integer.parseInt(sPorcentage.replaceAll("%", ""));
zona1.moveAllCurtains(porcentage);
它可以工作,但控制台显示:
697: error: cannot find symbol
[javac] int porcentage = Integer.parseInt(sPorcentage.replaceAll("%", ""));
[javac] ^
[javac] symbol: method replaceAll(String,String)
[javac] location: variable sPorcentage of type String
BUILD FAILED
谢谢你的帮助
int porcentage = Integer.parseInt(findECor2().getSelectedItem().toString().replaceAll("%", ""));
应该有用。但是,粘贴的错误表明未定义变量sPorcentage
试着像在中一样定义它
String sPorcentage = "80%";
int porcentage = Integer.parseInt(sPorcentage.replaceAll("%", ""));
System.out.println(porcentage);
我想你可以用下面的代码代替你的。我想这符合你的目的:
String str = "80%";
int perc=Integer.parseInt(str.split("%")[0]);
System.out.println(perc);
上面的代码段将以“80”作为输出,也将以整数变量形式输出。使用
StringUtils.replaceAll(sPorcentage,“%”,“”)
Shai已经回答了这个问题,codename one不支持某些字符串函数,如replaceAll、split。但是您可以使用他们提供的StringUtil类。StringUtil.replaceAll()将执行您想要的操作
StringUtil.replaceAll(String source, String pattern, String replace);
source-字符串源
模式-要在源中替换的字符串
替换-替换字符串
这应该可以正常工作。。为什么错误消息中引用的行与您输入的(您声称的)不同?您正在
findECor2().getSelectedItem()
上执行tostring()
。。这让我相信返回的结果不是字符串。那么它怎么能有一个char%
符号呢。@Rahul调用toString
后,它很可能是一个字符串。你有什么版本的JDK?当你说“它工作”时,你是什么意思?您的代码有一个生成错误,但仍然有效?我尝试过,但现在编译错误是698:错误:找不到符号[javac]int-procentage=Integer.parseInt(sPorcentage.split(“%”[0]);[javac]^[javac]symbol:methodsplit(String)[javac]位置:String类型的变量sPorcentage,但是这段代码对我来说很好。你能看到共享的实际场景吗?替换没有问题,转义%没有任何意义,你只是破坏了OP的代码。OP从某个地方读取变量-他不能只是重新定义它。这就是我说的“sPorcentage未定义”的意思。