当前位置: 首页 > 知识库问答 >
问题:

为for循环[闭合]中的变量赋值

关正雅
2023-03-14

在for循环中为字符串定义值时遇到问题,但我需要它保持不变,即使在循环完成后也是如此。这是我的密码:

String soporte = "";
String apellido_1 = "Turati";

for (int i = 0; i<apellido_1.length(); i++){

        if (("A".equals(Character.toString(apellido_1.charAt(i)))) || ("E".equals(Character.toString(apellido_1.charAt(i))))
                || ("I".equals(Character.toString(apellido_1.charAt(i)))) || ("O".equals(Character.toString(apellido_1.charAt(i))))
                || ("U".equals(Character.toString(apellido_1.charAt(i))))){
            
            soporte = Character.toString(apellido_1.charAt(i));   
        }
    }

我知道如果我给soporte在for或if中赋一个值,它会改变,但我不知道如何做,因为它只是第一次问。还有,代码真的很长。这只是一个片段,所以有些东西是不完整的。P. D.apellido_1是用户的输入,但我使用了将要运行的示例。

共有1个答案

淳于烈
2023-03-14

在我看来,你试图根据输入字符串创建一串元音。

在代码中,每次找到元音时都覆盖“soport”,而不是附加元音。我会这样写:

for (int i = 0; i < apellido_1.length(); i++){
    char currentCharLC = Character.toLowerCase(apellido_1.charAt(i));
    if (currentCharLC == 'a' ||
        currentCharLC == 'e' ||
        currentCharLC == 'i' ||
        currentCharLC == 'o' ||
        currentCharLC == 'u') {
            soporte += apellido_1.charAt(i);
    }
}

此示例将导致soporte成为“uai”。注意这个角色。我使用的toLowerCase()方法,它将允许该方法在不考虑大小写的情况下工作。

 类似资料:
  • 在for循环中,为不同的变量分配一个值。已经赋值的变量将从下一次迭代中获得赋值。最后,两个变量的值相同。该代码用于验证文件中的数据。当我打印这些值时,它会为第一次迭代打印正确的值,但在下一次迭代中,第一次迭代中指定的值会更改。当我在for循环中打印$value3和$value4的值时,它会为$value4显示null,为$value3显示一些值,但在下一次迭代中,$value3的值会被$value

  • 问题内容: 我试图用多个变量在Go中编写一个for循环。 来自javascript世界,我想实现以下目标: 我已经尝试过像这样的“原始翻译”: 但这是行不通的。正确的语法是什么? 非常感谢! 问题答案: 在Go中,您可以像这样循环执行多个变量分配。

  • 出于某种原因,当我尝试运行这段代码时,它总是返回找不到符号。然后我发现问题是变量无法解析为变量。我不知道为什么它无法将其解析为变量。

  • 我正在给一个String变量()分配一个值。我知道String数据类型是不可变的,如果我给同一个String变量分配1000个不同的值,它将在String常量池中创建1000个引用。然而,我想不出任何其他有效的方法来做到这一点...请建议...

  • 问题内容: 在循环内部声明变量是否不好?在我看来,这样做,如下面的第一个代码块所示,将使用第二次的十倍的内存…由于在循环的每次迭代中都创建了一个新的字符串。这样对吗? 与 问题答案: 在循环内部声明变量是否不好? 一点也不!它将变量本地化到其使用点。 在我看来,如下面的第一个代码块所示,这样做将使用十倍于第二个内存的内存。 编译器可以优化内容以保持内存使用效率。仅供参考:如果您使用关键字告诉您变量

  • 我有两段递归代码,打算递归地打印出数组的一半,直到得到数组长度为1的数组。没有变量赋值的代码无限运行,而具有变量赋值的代码的行为与预期一样。 有什么线索说明为什么会这样吗? 无限运行,小心 不会无限运行 我以为这里可能存在某种可变性,但我无法想象会有什么连锁反应。我以为每次调用函数时,我们都会将一个全新的数组传递给它。。。