在java上使用for时更改循环条件
我是java新手,我有while条件,它工作得很好,但我需要使用for循环:这个while条件用于循环在java上使用for时更改循环条件,java,Java,我是java新手,我有while条件,它工作得很好,但我需要使用for循环:这个while条件用于循环 String command = ""; while ((command = br.readLine())!=null && !command.isEmpty()) { int b=0; thisObj.perintah(b,command); } 我已经试着写了,我想类似这样,但它不工作 for (int b=0;b<command;b++) {
String command = "";
while ((command = br.readLine())!=null && !command.isEmpty()) {
int b=0;
thisObj.perintah(b,command);
}
我已经试着写了,我想类似这样,但它不工作
for (int b=0;b<command;b++)
{
String command = br.readLine();
thisObj.perintah(b,command);
}
for(int b=0;b不清楚b
应该取什么值。不过,无论哪种方法,您都必须将字符串转换为整数
String command = "";
for(int b = 0; (command = br.readLine())!=null && !command.isEmpty(); ++b) {
thisObj.perintah(b,command);
String command = br.readLine();
}
while循环表示为for循环:
int b = 0;
for (String command = br.readLine(); command !=null && !command.isEmpty(); command = br.readLine()) {
thisObj.perintah(b++, command);
}
使用变量名命令
会使
的行相当长,因此下面是相同的代码,变量名较短,因此更清楚发生了什么:
int b = 0;
for (String s = br.readLine(); s !=null && !s.isEmpty(); s = br.readLine()) {
thisObj.perintah(b++, s);
}
如果没有帮助,Java无法将int
与String
进行比较。您需要将命令转换为数字。请尝试Integer.parseInt()
但是在for
循环的情况下,您不能这样做。请尝试以下方法:
int b = 0;
String command = "";
while ((command = br.readLine())!=null && !command.isEmpty()) {
int commandAsInt = Integer.parseInt(command);
if(b >= commandAsInt) break; // exit the loop
thisObj.perintah(b,command);
b++;
}
你认为整数和字符串之间的不等式比较应该做什么?你是在比较字符串命令和int b。这不是一个好主意。在你的第一个代码片段中b
的意义是什么?你问的问题真的不清楚。command
似乎不是一个数字(给定)我们无法猜测b
的用途以及它应该取什么值。在for
循环中,符号命令在您进入循环体之前不会定义。您不能在for
语句本身中使用它。即使可以,我相信也需要增加b
要编译此文件吗?是的,我需要增量b与我的method@poundPound但是b
和command
之间的关系是什么?这就是你想要的吗?我使用b作为其他方法,这样方法将递增,直到命令被执行为止null@poundPound好的,我不确定我是否得到了它,但请看我的最后一次编辑。这是一个对于每个
循环。这肯定更合适,但也许你也可以为
循环包含一个经典的?涵盖所有的基础!@Chris这不是foreach:这里没有iterable对象,也没有foreach语法的:
操作符。这是
循环的标准。梅林的胡子。就是这样。我收回我的声明并奖励你一个可爱的解决方案a+1。我需要一个增量,因为我使用b作为其他方法,你的代码只为我的其他方法提供1个输出,但是你的while循环没有增量b
,这应该是for循环的原型。哦,我已经增加了b…为什么要检查这行是否为空t empty?一个条件就可以了。@疑难解答:我保留了尽可能多的原始代码。@疑难解答:查看该行如何为空而不为空?@疑难解答仅包含\n
的行将返回一个空字符串对象,该对象不为空。