首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用变量整数重复一个方法?

如何使用变量整数重复一个方法?
EN

Stack Overflow用户
提问于 2020-10-30 10:25:48
回答 1查看 41关注 0票数 0

我一个月前才开始学习如何用Java编程。我正在尝试让我的机器人(karel)将蜂鸣器放入" put“整数中指示的次数,而不是对象的总数量。但是,它不是一个设置的数字,并且karel.putBeeper(put);不会被编译器接受,因为该类没有应用于给定的类型。任何帮助都是非常感谢的,我开始理解为什么Stack Overflow是程序员最好的朋友了。注意:我可能不会回复任何有用的提示,直到明天。

代码语言:javascript
复制
import java.io.*;
import java.util.*;
public class Lab09 {
   public static void main(String[]args) {
      Scanner input = new Scanner(System.in);
      System.out.println("Which world?");
      String filename = input.nextLine();
      World.readWorld(filename);
      World.setSize(10,10);
      World.setSpeed(6);
      Robot karel = new Robot(1,1,World.EAST,0);
      int pick=0;
      int put=0;
      for(int i=0; i<8; i++) {
         while(karel.onABeeper()) {
            karel.pickBeeper();
            pick++;
            karel.move();
         }
         for(i=0; pick>i; pick--) {
            put++;
         }
         if(!karel.onABeeper()) {
            karel.move();
         }
         while(karel.onABeeper() && put>0) {
            karel.putBeeper(put);
         }
      }
   }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-30 10:43:07

如果我没记错的话,您正在尝试putBeeper put时间,这是通过以下代码完成的:

代码语言:javascript
复制
while (karel.onABeeper() && put > 0) {
  karel.putBeeper(put);
}

我在这里看到的问题是,在调用putBeeper之后,您没有更改put的值,因此这个while循环永远不会终止:例如,如果put的值在第一次循环迭代期间为5,它将始终保持为5,该值大于0。此外,正如您所提到的,putBeeper不接受任何参数,因此尝试将put作为参数传递是行不通的-编译器会为您捕获该错误。

如果您的意图是调用putBeeper put时间,那么您可以在每次调用putBeeper后递减put - put最终将到达0,此时您已经调用了putBeeper put时间。由于您刚刚开始学习使用Java编程,因此我将把实际实现留给您作为练习。祝好运!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64601919

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档