- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
不要介意我可怕的代码的其他部分,仍在学习。我只是想通过我的“Console”类创建一个“playGame”方法,但前提是我的“TV”类的“ channel ”设置为 3。
我的程序说没有任何错误,但是当我运行程序并将 channel 设置为 3 时,我仍然无法玩游戏。我不断收到 println“您需要将 channel 更改为 3 才能播放。”
这是我的类(class):
Console.java
public class Console {
TV tv = new TV(5,25);
private boolean isOn;
private String reset;
public Console(boolean isOn, String reset) {
super();
this.isOn = isOn;
this.reset = reset;
}
public void powerButton() {
if (isOn) {
System.out.println("You turned off your video game console.");
isOn = false;
} else {
System.out.println("You turned on your video game console.");
isOn = true;
}
}
public void reset () {
System.out.println("You reset your game console.");
}
public void playGame() {
if (tv.getChannel() == 3) {
System.out.println("You play a game on your console.");
} else {
System.out.println("You need to change the channel to 3 before you can play.");
}
}
public boolean isOn() {
return isOn;
}
public String getReset() {
return reset;
}
}
TV.java
public class TV {
private int channel = 10;
private int volume = 25;
public TV(int channel, int volume) {
super();
this.channel = channel;
this.volume = volume;
}
public void channelUp () {
channel++;
System.out.println("The channel is now on channel " + channel);
}
public void channelDown () {
channel--;
if (channel < 0) {
channel = 0;
}
System.out.println("The channel is now on channel " + channel);
}
public void volumeUp () {
volume++;
System.out.println("You changed the volume to " + volume);
}
public void volumeDown () {
volume--;
if (volume < 0) {
volume = 0;
}
if (volume > 100) {
volume = 100;
}
System.out.println("You changed the volume to " + volume);
}
public void currentChannel() {
int currentChannel = channel;
System.out.println("The current channel is " + channel);
}
public void changeChannel(int changeToChannel) {
channel = changeToChannel;
System.out.println("You changed the channel to " + channel);
}
public int getChannel() {
return channel;
}
public int getVolume() {
return volume;
}
}
编辑(添加主类和输出)
Main.java
public class Main {
public static void main (String[] args) {
//GameRoom
Light light = new Light ("Modern");
Macbook macbook = new Macbook ("2013", "Aluminum");
TV tv = new TV (25,50);
Bed bed = new Bed ("Double",3,2);
Console console = new Console (false, "reset");
light.turnOn();
light.getStyle();
light.turnOff();
macbook.macbookDetails();
tv.channelDown();
tv.channelDown();
tv.channelDown();
tv.volumeUp();
tv.volumeUp();
bed.make();
bed.messUp();
macbook.playGame();
macbook.turnOn();
macbook.playGame();
macbook.turnOff();
console.powerButton();
tv.currentChannel();
tv.changeChannel(5);
console.playGame();
tv.changeChannel(3);
console.playGame();
}
}
输出
You turned on the light in the GameRoom
Modern style lamp.
You turned off the light in the GameRoom
--Macbook details--
Year: 2013
Color: Aluminum
The channel is now on channel 24
The channel is now on channel 23
The channel is now on channel 22
You changed the volume to 51
You changed the volume to 52
You made your bed.
You messed up your bed.
You need to turn on your Macbook first.
Macbook turned on.
You played Celeste on your Macbook.
Macbook turned off.
You turned on your video game console.
The current channel is 22
You changed the channel to 5
You need to change the channel to 3 before you can play.
You changed the channel to 3
You need to change the channel to 3 before you can play.
最佳答案
发生这种情况是因为 TV 类有两个不同的实例。
控制台中的一个
public class Console {
TV tv = new TV(5,25);
入口点有一个
public static void main (String[] args) {
//GameRoom
Light light = new Light ("Modern");
Macbook macbook = new Macbook ("2013", "Aluminum");
TV tv = new TV (25,50);
因此,当您在入口点中引用 tv.changeChannel(3) 时,这是与在控制台中引用 tv.getChannel() 时不同的 TV 实例。
要解决此问题,您需要将在入口点中创建的 TV 实例的引用传递到控制台。
我将创建一个 setter 方法,将 TV 对象提供给控制台,然后从入口点调用该方法。
//Console
public void setTV(TV tv) {
this.tv = tv;
}
//Main
console.setTV(tv);
关于java - 我希望能够 "turn on"视频游戏机,但前提是电视 channel 设置为 3。我该如何执行此操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60009781/
我一直在探索 Mapbox Map SDK 和 Navigation SDK,但遇到了瓶颈,如有任何帮助,我们将不胜感激。 我在 GeoJSON 中定义了一些路由。是否可以将 GeoJSON 中的这条
我在 C 中有两个静态可变变量,我想在逻辑语句中检查它们。但是,当我这样做时,我收到警告“未定义的行为:此语句 1037 中未定义 volatile 访问的顺序”是否有可能在很短的时间内暂停 C 变量
有没有像 googlemaps 应用程序和 mapkit 那样做 turn-by-turn mapping 的方法?就像下面的图片。谢谢 最佳答案 我猜你想在你的应用程序中使用精细导航?在 MapKi
我正在构建一个 Android 应用程序,帮助用户在两点之间导航。这是 doc 的链接.这正是我想要提供给用户的功能,但是我希望导航在我的应用程序中进行,而不是通过以这种方式启动 Intent Uri
我正在开发从当前位置到目的地的转弯导航。我使用以下代码完成了此操作 Uri gmmIntentUri = Uri.parse("google.navigation:q="+address); Inte
假设我有一个控制 android 服务的开关:当Switch处于“on”状态时,表示服务正在运行,当开关处于“关闭”位置时,表示服务未运行。此外,当用户点击 Switch 时,它应该切换服务(因此切换
我正在尝试实现一种算法来填充一个区域,该特定算法在以下 Wikipedia 中给出“固定内存法(右手填充法)”标题下的文档。下面给出算法中发生左转和右转的特定部分... START: set
我正在使用 HERE NOKIA SDK。我已经在 2 点和语音指令之间创建了一条路线。现在我想显示图像箭头和操作的特定文本。 最佳答案 SDK不提供回合图标。请创建一些图像以将它们与机动转弯类型配对
我的应用程序需要像 OLA、UBER 和出租车出租应用程序一样包含转弯 GPS 导航。我使用 Google Direction API 来显示路径和持续时间。我检查了以下链接,但对我没有帮助。 gps
我的应用需要包含转弯 gps 导航。任何人都可以告诉如何通过转弯 gps 导航集成谷歌地图。 我可以在android开发中找到它。但是我无法从谷歌地图的 iOS 开发文档中找到导航。 https://
构建时出现以下错误: ...has undefined behavior [-Werror,-Wundefined-reinterpret-cast] Bazel 构建完全停止,因为 clang (l
如何关闭 Rmd HTML 文档中的标题? --- title: "" output: html_document --- rmarkdown::render("index.Rmd") [WARNIN
我试图使用 部署一个简单的 TURN 服务器coturn . 当我在 Trickle ICE 上测试时( turn:rtc.jackxujh.me:3478 [webrtc:mighty] ),Tri
我正在使用一个任性的库,不幸的是,它会将信息打印到 System.out(或偶尔打印到 System.err)。防止这种情况的最简单方法是什么? 我一直在考虑创建一个输出流到内存,在每次调用其中一个麻
比如说我搭建了WebRTC视频聊天网站,有的握手后连接(ICE Candidates)会直接p2p,有的会使用STUN服务器,有的会使用“不得已”的TURN服务器建立连接.与直接连接和 STUN 连接
我在查找有关如何“打开”mysqli 的确切文档时遇到了麻烦。我正在运行 OS X SL,据我所知,由于安装了 php5,mysqli 扩展也应该已经存在。 这是否像在 php.ini 中添加 Loa
在我的 Ubuntu 引擎上设计了一个简单的基于 shell/bash 的备份脚本并使其工作后,我将它上传到了我的 Debian 服务器,它在执行它时会输出一些错误。 我该怎么做才能在我的 Ubunt
我正在使用 Twilio Network Traversal Service作为 native 应用程序的一部分,我是 working on执行对等远程桌面连接。我们实现了 WebRTC 协议(pro
我正在尝试将负载均衡器放在 Turn 服务器前面以与 WebRTC 一起使用。我在下面的示例中使用了一个轮流服务器,直到负载平衡器正常工作。 Turn 服务器需要多个端口,包括一个 UDP,如下所示:
在哪些情况下我应该使用 TURN 服务器? 现在我有一个完美运行的 WebRTC 应用程序。该应用程序即将发布。 我是否需要设置自己的 TURN 服务器,或者这可能仅适用于主要应用程序? 最佳答案 已
我是一名优秀的程序员,十分优秀!