所以我正在寻找一个练习的解决方案,并且发现它并没有给出错误并且实际上忽略了它。
代码:
初始化银行帐户对象(只需轻轻一按代码,因为这是必不可少的部分):
Account[] accounts = new Account[3];
try{
accounts[0] = new SavingAccount("035-0621094-44", 2.5);
银行帐号验证的一部分并将其拆分:
private void isNrOk (String nr) throws AccountException{
if (nr.length()==14){
int d1=Integer.parseInt(nr.substring(0,3));
System.out.println(d1);
输出:35
所以我的问题是,当我尝试转换字符串' 035 - '时,为什么不给我错误?成一个整数。我想如果你试图转换小数以外的东西,它会给出错误。或者是因为它被视为减号并且在这种情况下只是忽略它,因为它在后面?
编辑:我不知道javadocs,应该看起来很好看。 谢谢你的帮助。
答案 0 :(得分:4)
它没有解析035-而是035,因为它是从索引零处的字符到第三个值;因此035。
答案 1 :(得分:0)
那是因为:
scala> "035-0621094-44".substring(0, 3)
res4: String = 035
答案 2 :(得分:0)
您也可以使用以下代码。
String[] stringArr = nr.split("-");
int d1 = Integer.parseInt(stringArr[0]);
答案 3 :(得分:0)
<强> 子 强>
public String substring(int beginIndex,
int endIndex)
此方法返回一个新字符串,该字符串是此字符串的子字符串。子字符串从指定的beginIndex开始,并扩展到索引endIndex - 1处的字符。因此子字符串的长度为endIndex-beginIndex。 示例:
"hamburger".substring(4, 8) returns "urge"
"smiles".substring(1, 5) returns "mile"
答案 4 :(得分:0)
这里的子串构造函数与begin index和end index一起使用。
但是当您在字符串上应用子字符串时,您需要考虑基于0的开始索引和基于1的结束索引。
您也可以根据&#39; - &#39;。
进行拆分答案 5 :(得分:0)
这将是基本语法....
public String[] split(String regex, int limit)
例如:
String Str = new String("AccontNumber: 1234-2234-123");
for (String s: Str.split("-", 2)){
System.out.println(s);