- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我编写这段代码是为了使用比类(class)预期更多的 Java 元素。但我很难让它在所有 4 个方向上工作。 getter 和 setter 嵌入到使 Karel 移动的方法中。如果我能得到任何帮助让这个鳕鱼工作那就太好了。
import stanford.karel.*;
public class MidpointFindingKarel extends SuperKarel {
public void run(){
while(facingEast()){
moveEast();
}
while(facingNorth()){
moveNorth();
}
while(facingWest()){
moveWest(moveEast());
}
while(facingSouth()){
moveSouth(moveNorth());
}
}
private int moveEast(){
int width = 0;
while(frontIsClear()){
width++;
move();
}
turnLeft();
width /= 2;
return width;
}
private int moveNorth(){
int height = 0;
while(frontIsClear()){
height++;
move();
}
turnLeft();
height /= 2;
return height;
}
private void moveWest(int _width){
for(int _w = 0; _w < _width; _w++){
move();
}
turnLeft();
}
private void moveSouth(int _height){
for(int _h = 0; _h < _height; _h++){
move();
}
turnLeft();
}
}
最佳答案
您能具体说明一下您的代码应该做什么吗?如果您想做的只是在每面墙的中点放置一个蜂鸣器,我会制作一个单独的方法来实现这一点。如果我的解决方案不能回答您的问题,请提前抱歉!
import stanford.karel.*;
public class MidpointFindingKarel extends SuperKarel {
public void run(){
while(facingEast()){
moveEast();
}
while(facingNorth()){
moveNorth();
}
while(facingWest()){
moveEast(); // I did not understand what "moveWest(moveEast());" was for.
}
while(facingSouth()){
moveNorth();// I did not understand what "moveSouth(moveNorth())" was for.
}
}
private void moveEast(){
int width = 0;
while(frontIsClear()){
width++;
move();
}
goBackPutBeeperReturn(width); // goes back half of the "width", puts beeper, returns.
turnLeft();
// width /= 2;
// return width;
}
private void moveNorth(){
int height = 0;
while(frontIsClear()){
height++;
move();
}
goBackPutBeeperReturn(height);
turnLeft();
// height /= 2;
// return height;
}
//Pre-condition: Karel has finished going along a wall and has its length stored somewhere.
//Post-condition: Karel has put a beeper in the midpoint and is back to the end of that wall
private void goBackPutBeeperReturn(int wallLength){
turnAround();
for(int loop = 0 ; loop < wallLength/2 ; loop++){
move();
}
putBeeper();
turnAround();
for(int loop = 0 ; loop < wallLength/2 ; loop++){
move();
}}}
/*
private void moveWest(int _width){
for(int _w = 0; _w < _width; _w++){
move();
}
turnLeft();
}
private void moveSouth(int _height){
for(int _h = 0; _h < _height; _h++){
move();
}
turnLeft();
}
}*/
关于java - 在 Karel Midpoint 练习中使用 Getter 和 Setter (Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34802138/
我正在用 JS 编写一个使用坐标的简单绘图应用程序。我需要递归地找到两个点的中点以画一条线(A 点和 B 点之间的中点,然后是三个结果点之间的两个中点,等等)。参见 this GIF一个更清楚的例子。
我确实有两种通过 bresenham/midpoint 算法创建实心圆的方法。但是第二种方式看起来比第一种方式好得多。 我想创建一个像第二个的结果,但是用第一个的方式一。我想用第一种方法来做,因为我需
我在做一个示例练习时遇到了一些麻烦。 目标是让计算机通过反复取中点直到达到数字来猜测您的数字。我拥有一切,除了我似乎无法“降低”工作。 #include using namespace std; v
本文整理了Java中com.evolveum.midpoint.prism.impl.lex.json.YamlLexicalProcessor类的一些代码示例,展示了YamlLexicalProce
我正在使用 python seaborn 包来生成发散的调色板 (seaborn.diverging_palette)。 我可以选择我的两种末端颜色,并定义中心是浅-> 白色还是深色-> 黑色(cen
本文整理了Java中com.evolveum.midpoint.xml.ns._public.common.common_3.XmlSchemaType类的一些代码示例,展示了XmlSchemaTyp
本文整理了Java中com.evolveum.midpoint.xml.ns._public.common.common_3.WorkItemType类的一些代码示例,展示了WorkItemType类
本文整理了Java中com.evolveum.midpoint.xml.ns._public.common.common_3.WorkItemEventCauseInformationType类的一些
本文整理了Java中com.evolveum.midpoint.xml.ns._public.common.common_3.ZoneOfControlType类的一些代码示例,展示了ZoneOfCo
我编写这段代码是为了使用比类(class)预期更多的 Java 元素。但我很难让它在所有 4 个方向上工作。 getter 和 setter 嵌入到使 Karel 移动的方法中。如果我能得到任何帮助让
在 d3 中,假设有 node1 和 node2,用水平相邻的圆圈表示。有一条短的水平线(我猜是一条路径)连接 node1 和 node2。 我如何:(1) 找到那条线/路径的中点,并且(2) 给那个
本文整理了Java中com.evolveum.midpoint.xml.ns._public.common.common_3.XmlSchemaType.getCachingMetadata()方法的
本文整理了Java中com.evolveum.midpoint.xml.ns._public.common.common_3.XmlSchemaType.setCachingMetadata()方法的
本文整理了Java中com.evolveum.midpoint.xml.ns._public.common.common_3.WorkItemType.setOriginalAssigneeRef()
本文整理了Java中com.evolveum.midpoint.xml.ns._public.common.common_3.XmlSchemaType.setDefinition()方法的一些代码示
本文整理了Java中com.evolveum.midpoint.xml.ns._public.common.common_3.WorkItemType.setProcessSpecificPart()
本文整理了Java中com.evolveum.midpoint.xml.ns._public.common.common_3.XmlSchemaType.()方法的一些代码示例,展示了XmlSchem
本文整理了Java中com.evolveum.midpoint.xml.ns._public.common.common_3.XmlSchemaType.getDefinition()方法的一些代码示
本文整理了Java中com.evolveum.midpoint.xml.ns._public.common.common_3.WorkItemType.getCandidateRef()方法的一些代码
本文整理了Java中com.evolveum.midpoint.xml.ns._public.common.common_3.WorkItemType.getCreateTimestamp()方法的一
我是一名优秀的程序员,十分优秀!