我的java游戏有问题.我是初学者,但我必须把它写成一个学校项目.
游戏被称为"生日蛋糕",蛋糕上有7个蜡烛,其中一个正在显示为30秒,在这段时间你必须点击它才能得到点,如果你在这段时间没有点击它下一支蜡烛将显示.10个蜡烛显示游戏结束.
我做了循环,我试图使它工作太久,我沮丧
我的for循环工作,但它是如此之快,我使用Thread.sleep(1000),我尝试了很多解决方案,它看起来不错.但是,当我开始游戏时,没有任何事情发生,几秒钟后,所有7支蜡烛显示并迅速消失.我想我做错了什么,但我不知道是什么.
if(Dane.start){
int liczbaLosowa = 0;
for(int i=0; i<10 ;i++){
liczbaLosowa = (int)(Math.random()*7);
this.wspX= wspX_p[liczbaLosowa];
this.wspY= wspY_p[liczbaLosowa];
g2d.drawImage(plomienImg, wspX, wspY,null);
Toolkit.getDefaultToolkit().sync();
try {
Thread.sleep(1000);
} catch (Exception ex) { }
//repaint();
}
Dane.start=false;
}
Run Code Online (Sandbox Code Playgroud) 我看到一个教程,解释如何在循环中使用"break"语句,但每次我尝试使用它时,我收到编译错误说:
"break语句不在循环或开关内
break;"
这是我的代码:
if (finalFirstChar > 6 || finalFirstChar < 1)
{
printf("You didn't entered a proper number! \n");
break;
}
Run Code Online (Sandbox Code Playgroud) 当我输入1,2或3时,它应该从循环中退出或不输入它.但是如果我写的不是那些3个数字,它应该循环直到我输入1,2或3.
但由于某种原因,我不能让它不进入循环或退出它.即使输入循环1,2或3是正确的数字也无关紧要.无论如何,它仍然会输入并循环.
string userValue = Console.ReadLine();
string message = "";
Console.WriteLine("Card 1, 2, or, 3?");
Console.ReadLine();
while (userValue != "1" || userValue != "2" || userValue != "3")
{
message = "try again. Card 1, 2, or, 3?";
Console.WriteLine(message);
Console.ReadLine();
}
if (userValue == "1")
{
message = "You win a Coke";
}
else if (userValue == "2")
{
message = "You win a Diet Coke";
}
else if (userValue == "3")
{
message = "You win a Apple Juice"; …
Run Code Online (Sandbox Code Playgroud) 对不起,我是编程方面的新手.我想请求帮助,我想显示从200到400的范围编号,但它不应显示数字250.
这就是我所做的.
int main () {
for (int i=200; i<=400; i++) {
std::cout << "value of i: " << i << endl;
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我很成功地显示了范围号码,但它显示了所有号码.
打印数组时,初始化整数有效.
int a[MAX_SIZE] = {1,2,3,4,5,6,7,8,9,10};
for (int i = 0; i <= (MAX_SIZE - 1); i++)
{
printf("%3d",a[i]);
}
Run Code Online (Sandbox Code Playgroud)
但是,我想知道为什么初始化一个指向整数("walker")的指针不起作用:
int a[MAX_SIZE] = {1,2,3,4,5,6,7,8,9,10};
for (int *aWalk = a, int *aEnd = a + MAX_SIZE - 1; aWalk <= aEnd; aWalk++)
{
printf("%3d", *aWalk);
}
Run Code Online (Sandbox Code Playgroud) 我正在学习Java,目前正在学习数组.我试着用一些相当简单的东西练习.
public static void main(String[] args) {
String[] names = {Max, Bella, Jack};
for (int i = 0; i < names.length; i++) {
Dog dog[i] = new Dog();
dog[i].name = names[i];
System.out.println(dog[i].name);
}
}
public static class Dog {
public String name;
}
Run Code Online (Sandbox Code Playgroud)
我的想法是它会创建3只狗(dog0,dog1和dog2),然后将dog0.name更改为Max,将dog1.name更改为Bella,将dog3.name更改为Jack.
但是,我收到以下编译错误:
/MyClass.java:6: error: ']' expected
Dog dog[i] = new Dog();
^
/MyClass.java:6: error: illegal start of expression
Dog dog[i] = new Dog();
^
Run Code Online (Sandbox Code Playgroud)
我只是想不通,发生了什么事?关闭的方括号就在那里,但编译器告诉我它期望它,就像没有它一样.我可能正在使用数组和循环错误创建变量,如果是这样,请指出我的正确方法.
PS:如果这是重复的话,我很抱歉.关闭方括号是我的问题的关键点,搜索引擎只是忽略了这里和谷歌的']'.我正在搜索关于"expected']'"的主题,但它只给出了"预期"的结果.
编辑:我可能没有让自己清楚.我试图做的是编写一个代码,它等于下面的代码:
public static void main(String[] args) {
Dog dog0 = …
Run Code Online (Sandbox Code Playgroud) 我试着计算通过循环的操作次数为1秒.为此,我记得我开始计算循环并在每次迭代时检查时间的时间.我的想法 - 当这两个时间段的秒数不同时,我打印了多少次循环迭代.
这是我的代码:
#include <ctime>
int main()
{
// For timing
time_t t, tstep;
struct tm* now, *step;
// this time will change at every iteration
t = time(0);
now = localtime(&t);
// save time of the start moment
tstep = t;
step = localtime(&tstep);
// counter of loop cycles
int count = 0;
for (size_t i = 0; i < 1e100 ; i++)
{
// ... here is some calculations
t = time(0);
now = localtime(&t);
count++;
if …
Run Code Online (Sandbox Code Playgroud) 我有一段JavaScript代码使用for循环来反转字符串.但是,我想知道是否可以使用for in循环,我将如何进行呢?
function reverse(str){
var reversedString = '';
for (var i = str.length - 1; i >= 0; i--){
reversedString = reversedString + str[i];
}
return reversedString;
}
alert(reverse('hello'));
Run Code Online (Sandbox Code Playgroud) 所以我正在尝试将代码放在一起用于我的作业分配,并且出于某种原因,我在我的while循环条件下不断得到预期的表达式错误,我将<= end_money部分放在一起.错误显示在<=上.这是我的代码中唯一一个我收到此错误的地方.如果有人能帮助我,我会非常感激.我被困了这么久.这是片段:编辑:还有一个while循环的结束括号,我只是忘了将它粘贴在这里.
int player_total = 0;
int dealer_total = 0;
int player_bet;
int card_value = 0;
const int end_money = 1000;
const int starting_money = 100;
string card;
string response;
while (player_bet >= 0 && <= end_money)
{
cout << "You have $100. Enter bet: ";
cin >> player_bet;
if (player_bet <= starting_money) {
return true;
}
else if (player_bet > starting_money) {
cout << "You only have $100 to bet. Enter bet: ";
}
Run Code Online (Sandbox Code Playgroud) 这是什么意思?
for(Ship s:p.ships)
Ship是类,s是类Ship的对象,p是播放器.
这些是来自游戏Battleship的命令.
loops ×10
c++ ×3
java ×3
c ×2
for-loop ×2
while-loop ×2
arrays ×1
break ×1
c# ×1
if-statement ×1
image ×1
initializing ×1
java-2d ×1
javascript ×1
reference ×1
swing ×1
syntax-error ×1
time ×1