Java 将可验证文件保存在while循环中以供以后使用
我似乎找不到答案,因为我对java非常陌生,可能在寻找错误的东西Java 将可验证文件保存在while循环中以供以后使用,java,while-loop,Java,While Loop,我似乎找不到答案,因为我对java非常陌生,可能在寻找错误的东西 public class ClassMethodtest { /** * @param args the command line arguments */ public static void main(String[] args) { Scanner replay = new Scanner(System.in); String answer; do{ Move
public class ClassMethodtest {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Scanner replay = new Scanner(System.in);
String answer;
do{
MoveClass newMoveClass = new MoveClass();
newMoveClass.MoveAround();
newMoveClass.Location();
System.out.println("move again?");
answer = replay.next();
} while(answer.equals("yes"));
}
public class MoveClass {
private final String array[] = {"A1", "A2", "A3", "A4", "B1", "B2", "B3", "B4",
"C1", "C2", "C3", "C4", "D1", "D2", "D3", "D4"};
private final Scanner kb = new Scanner(System.in);
private String location = array[0];
public void MoveAround(){
System.out.println("move around");
String answer = kb.next();
switch (location) {
case "A1":
if(answer.equals("down")){
location = array[4];
}
else if(answer.equals("right")){
location = array[1];
} break;
//etc.....
如何在每次运行循环时“保存”结果,以便下次运行循环?当主类中的while循环再次循环时,它将返回到“location”的第一个取消公差。在代码中,每次代码运行do while时,您都在创建
newMoveClass
对象。您需要稍微修改代码,以便创建的MoveClass实例在循环的所有迭代中都是相同的,如下所示:
MoveClass newMoveClass = new MoveClass();
do{
newMoveClass.MoveAround();
newMoveClass.Location();
System.out.println("move again?");
answer = replay.next();
} while(answer.equals("yes"));
ArrayList<Integer> results = new ArrayList<Integer>();
while(<some condition>) {
// do computation with Integer temp
Integer temp = new Integer(100);
results.add(temp);
}
更一般的示例可能如下所示:
MoveClass newMoveClass = new MoveClass();
do{
newMoveClass.MoveAround();
newMoveClass.Location();
System.out.println("move again?");
answer = replay.next();
} while(answer.equals("yes"));
ArrayList<Integer> results = new ArrayList<Integer>();
while(<some condition>) {
// do computation with Integer temp
Integer temp = new Integer(100);
results.add(temp);
}
ArrayList结果=新建ArrayList();
while(){
//使用整数temp进行计算
整数温度=新整数(100);
结果:添加(温度);
}
while循环条件不再成立后,结果将显示在ArrayList中。您的代码示例不会执行您声称的操作。请尝试并制作一个实际显示您所遇到问题的示例。在本例中,
x
将是1
,直到循环开始,然后是2
循环持续时间。还请解释“循环重新启动时”的真正含义。main方法只运行一次。为什么循环会重新启动?当它停留在循环中时,你所说的“当循环重新启动”是什么意思?请更清楚你的想法question@Lattyware实际上,代码甚至不会编译,因为x声明了两次。@jbnize不太好,而且某些东西不存在-我忽略了这些问题。这个例子真的没有帮助。我的猜测是,用户的实际问题可能是在while语句中使用=
,而不是=
,然后错过了将其归因于循环中的某些内容。如果没有真正的代码示例,就无法确定答案。这可能是答案,但很难说出用户的问题,我会一直等到用户澄清。非常感谢,工作非常完美!!!对于专业的程序员来说,这似乎不算什么,但你的回答为我打开了许多大门。非常感谢:)