我正在尝试将for循环转换为功能代码.我需要向前看一个值,也可以看一个值.是否可以使用流?
以下代码将罗马文本转换为数值.
不确定如果使用两个/三个参数的reduce方法可以帮助这里.
以下代码将罗马文本转换为数值.
不确定如果使用两个/三个参数的reduce方法可以帮助这里.
int prevIoUsCharValue = 0; int total = 0; for (int i = 0; i < input.length(); i++) { char current = input.charat(i); RomanNumeral romanNum = RomanNumeral.valueOf(Character.toString(current)); if (prevIoUsCharValue > 0) { total += (romanNum.getNumericValue() - prevIoUsCharValue); prevIoUsCharValue = 0; } else { if (i < input.length() - 1) { char next = input.charat(i + 1); RomanNumeral nextNum = RomanNumeral.valueOf(Character.toString(next)); if (romanNum.getNumericValue() < nextNum.getNumericValue()) { prevIoUsCharValue = romanNum.getNumericValue(); } } if (prevIoUsCharValue == 0) { total += romanNum.getNumericValue(); } } }
解决方法
原文地址:https://www.jb51.cc/java/122809.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。