Finch Robot (Java) - Should Light Up and Say the Colour When It Is Tapped
I wrote a code for the finch robot in Java that should light up and say the name of the colour when it is tapped but at the moment when I tap nothing happens.
It works without the if statement but when I add it nothing happens.
Does anyone know why?
Thank you
import edu.cmu.ri.createlab.terk.robot.finch.Finch;
import java.awt.Color;
public class FinchUserInteraction {
// create finch object
static Finch myFinch = new Finch();
public static void main(String args) {
//'BlueFinch' is the name of the blue Finch object
myFinch = new Finch();
if (myFinch.isTapped() == true) {
myFinch.setLED(Color.blue, 500);
myFinch.saySomething("Blue");
} else {
myFinch.setLED(Color.orange);
}
myFinch.quit();
System.exit(0);
}
}
java if-statement
|
show 4 more comments
I wrote a code for the finch robot in Java that should light up and say the name of the colour when it is tapped but at the moment when I tap nothing happens.
It works without the if statement but when I add it nothing happens.
Does anyone know why?
Thank you
import edu.cmu.ri.createlab.terk.robot.finch.Finch;
import java.awt.Color;
public class FinchUserInteraction {
// create finch object
static Finch myFinch = new Finch();
public static void main(String args) {
//'BlueFinch' is the name of the blue Finch object
myFinch = new Finch();
if (myFinch.isTapped() == true) {
myFinch.setLED(Color.blue, 500);
myFinch.saySomething("Blue");
} else {
myFinch.setLED(Color.orange);
}
myFinch.quit();
System.exit(0);
}
}
java if-statement
I am not sure if is about the if statement. It looks fine, you could do simplyif(myFinch.isTapped())
instead though. You could put a breakpoint and debug to see step by step. And what do you mean by nothing happens? What happens when it works?(Without if statement?)
– Bleach
Nov 22 at 22:28
2
maybe try with while loop.
– zak zak
Nov 22 at 22:29
Could you post the rest of your code? The Finch class
– jhenrique
Nov 22 at 22:32
1
Note that you are assigning twice a new Finch instance tomyFinch
.
– MC Emperor
Nov 22 at 22:32
1
Depends on how the robot works. It's possible that what you wrote only runs once - that is, you start the robot, it checks if it's tapped (it's not yet), so it sets led to orange and exits. If you want it to light blue whenever you tap it, you will need to write your code a different way.
– Deltharis
Nov 22 at 22:33
|
show 4 more comments
I wrote a code for the finch robot in Java that should light up and say the name of the colour when it is tapped but at the moment when I tap nothing happens.
It works without the if statement but when I add it nothing happens.
Does anyone know why?
Thank you
import edu.cmu.ri.createlab.terk.robot.finch.Finch;
import java.awt.Color;
public class FinchUserInteraction {
// create finch object
static Finch myFinch = new Finch();
public static void main(String args) {
//'BlueFinch' is the name of the blue Finch object
myFinch = new Finch();
if (myFinch.isTapped() == true) {
myFinch.setLED(Color.blue, 500);
myFinch.saySomething("Blue");
} else {
myFinch.setLED(Color.orange);
}
myFinch.quit();
System.exit(0);
}
}
java if-statement
I wrote a code for the finch robot in Java that should light up and say the name of the colour when it is tapped but at the moment when I tap nothing happens.
It works without the if statement but when I add it nothing happens.
Does anyone know why?
Thank you
import edu.cmu.ri.createlab.terk.robot.finch.Finch;
import java.awt.Color;
public class FinchUserInteraction {
// create finch object
static Finch myFinch = new Finch();
public static void main(String args) {
//'BlueFinch' is the name of the blue Finch object
myFinch = new Finch();
if (myFinch.isTapped() == true) {
myFinch.setLED(Color.blue, 500);
myFinch.saySomething("Blue");
} else {
myFinch.setLED(Color.orange);
}
myFinch.quit();
System.exit(0);
}
}
java if-statement
java if-statement
edited Nov 23 at 3:07
jhenrique
471312
471312
asked Nov 22 at 22:15
tamilini
45
45
I am not sure if is about the if statement. It looks fine, you could do simplyif(myFinch.isTapped())
instead though. You could put a breakpoint and debug to see step by step. And what do you mean by nothing happens? What happens when it works?(Without if statement?)
– Bleach
Nov 22 at 22:28
2
maybe try with while loop.
– zak zak
Nov 22 at 22:29
Could you post the rest of your code? The Finch class
– jhenrique
Nov 22 at 22:32
1
Note that you are assigning twice a new Finch instance tomyFinch
.
– MC Emperor
Nov 22 at 22:32
1
Depends on how the robot works. It's possible that what you wrote only runs once - that is, you start the robot, it checks if it's tapped (it's not yet), so it sets led to orange and exits. If you want it to light blue whenever you tap it, you will need to write your code a different way.
– Deltharis
Nov 22 at 22:33
|
show 4 more comments
I am not sure if is about the if statement. It looks fine, you could do simplyif(myFinch.isTapped())
instead though. You could put a breakpoint and debug to see step by step. And what do you mean by nothing happens? What happens when it works?(Without if statement?)
– Bleach
Nov 22 at 22:28
2
maybe try with while loop.
– zak zak
Nov 22 at 22:29
Could you post the rest of your code? The Finch class
– jhenrique
Nov 22 at 22:32
1
Note that you are assigning twice a new Finch instance tomyFinch
.
– MC Emperor
Nov 22 at 22:32
1
Depends on how the robot works. It's possible that what you wrote only runs once - that is, you start the robot, it checks if it's tapped (it's not yet), so it sets led to orange and exits. If you want it to light blue whenever you tap it, you will need to write your code a different way.
– Deltharis
Nov 22 at 22:33
I am not sure if is about the if statement. It looks fine, you could do simply
if(myFinch.isTapped())
instead though. You could put a breakpoint and debug to see step by step. And what do you mean by nothing happens? What happens when it works?(Without if statement?)– Bleach
Nov 22 at 22:28
I am not sure if is about the if statement. It looks fine, you could do simply
if(myFinch.isTapped())
instead though. You could put a breakpoint and debug to see step by step. And what do you mean by nothing happens? What happens when it works?(Without if statement?)– Bleach
Nov 22 at 22:28
2
2
maybe try with while loop.
– zak zak
Nov 22 at 22:29
maybe try with while loop.
– zak zak
Nov 22 at 22:29
Could you post the rest of your code? The Finch class
– jhenrique
Nov 22 at 22:32
Could you post the rest of your code? The Finch class
– jhenrique
Nov 22 at 22:32
1
1
Note that you are assigning twice a new Finch instance to
myFinch
.– MC Emperor
Nov 22 at 22:32
Note that you are assigning twice a new Finch instance to
myFinch
.– MC Emperor
Nov 22 at 22:32
1
1
Depends on how the robot works. It's possible that what you wrote only runs once - that is, you start the robot, it checks if it's tapped (it's not yet), so it sets led to orange and exits. If you want it to light blue whenever you tap it, you will need to write your code a different way.
– Deltharis
Nov 22 at 22:33
Depends on how the robot works. It's possible that what you wrote only runs once - that is, you start the robot, it checks if it's tapped (it's not yet), so it sets led to orange and exits. If you want it to light blue whenever you tap it, you will need to write your code a different way.
– Deltharis
Nov 22 at 22:33
|
show 4 more comments
1 Answer
1
active
oldest
votes
I figured out that myFinch.isTapped() is not very accurate.
If anyone else tries to do something similar use myFinch.isObstacle() == true and a while loop instead of a if statement for it to work
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53438560%2ffinch-robot-java-should-light-up-and-say-the-colour-when-it-is-tapped%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
I figured out that myFinch.isTapped() is not very accurate.
If anyone else tries to do something similar use myFinch.isObstacle() == true and a while loop instead of a if statement for it to work
add a comment |
I figured out that myFinch.isTapped() is not very accurate.
If anyone else tries to do something similar use myFinch.isObstacle() == true and a while loop instead of a if statement for it to work
add a comment |
I figured out that myFinch.isTapped() is not very accurate.
If anyone else tries to do something similar use myFinch.isObstacle() == true and a while loop instead of a if statement for it to work
I figured out that myFinch.isTapped() is not very accurate.
If anyone else tries to do something similar use myFinch.isObstacle() == true and a while loop instead of a if statement for it to work
answered Nov 27 at 15:25
tamilini
45
45
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53438560%2ffinch-robot-java-should-light-up-and-say-the-colour-when-it-is-tapped%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
I am not sure if is about the if statement. It looks fine, you could do simply
if(myFinch.isTapped())
instead though. You could put a breakpoint and debug to see step by step. And what do you mean by nothing happens? What happens when it works?(Without if statement?)– Bleach
Nov 22 at 22:28
2
maybe try with while loop.
– zak zak
Nov 22 at 22:29
Could you post the rest of your code? The Finch class
– jhenrique
Nov 22 at 22:32
1
Note that you are assigning twice a new Finch instance to
myFinch
.– MC Emperor
Nov 22 at 22:32
1
Depends on how the robot works. It's possible that what you wrote only runs once - that is, you start the robot, it checks if it's tapped (it's not yet), so it sets led to orange and exits. If you want it to light blue whenever you tap it, you will need to write your code a different way.
– Deltharis
Nov 22 at 22:33