java - 我怎样才能做长值的for循环

标签 java for-loop if-statement int long-integer

我需要使用 for 循环和 long 值来执行代码,如下所示:

for(long i=1;i<lines.length; i++){

    char tmp = lines[i].charAt(lines[i].length()-1);

    int index = lines[i].lastIndexOf(" ");

    lines[i] = lines[i].substring(0, index);

    if(tmp != lastChar)
        lines[i] = "S" + lines[i];
    else
        lines[i]=" "+lines[i];

    lastChar = tmp;        
}

问题是:类型不兼容:可能从 long 到 int 有损转换我不知道如何修复它

最佳答案

您在 for 循环中使用 long 是正确的,但是当您在 lines[i] 中使用索引时,问题就开始了。 java 说索引总是 int 但在你的情况下它很长。

并且 long 不能直接转换为 int。当您使用像 lines[(int) 这样的索引时,可以在 for 循环中将 long 数据类型更改为 int 数据类型,或者转换 i 变量我](不喜欢)。

关于java - 我怎样才能做长值的for循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47285210/

相关文章:

java - 如何将自定义 Spring Data Neo4j 5.0.3 密码查询标记为只读

Python For循环在While循环中,以特定值开始for循环

c - While 循环不适用于 C 中的 bool 语句(初学者!)

mysql - 如何编写脚本来循环 SQL 条目并插入值?

javascript - 无效的左侧赋值,检查一个变量并在 IF 语句中设置另一个变量

javascript - 在 Typescript 中使用 If-instanceof-statements 是不是很糟糕?

Java - 通用数组的ArrayList

java - JComboBox 鼠标单击单元格

java - 使用蒙特卡罗方法找到最低价格的理想量子

javascript - 试图理解 rövarspråket 翻译器