所以我在Java的介绍类中。我正在尝试编写我的第一个程序。它是一个简单的程序,要求一个数字(X)等于要完成的轮数。接下来,运行一个while循环,添加总分,直到X轮数完成。教科书并没有真正回答我的问题。我宣布3个整数。我是在main方法中还是在while循环内声明这些。我们还没有开始使用Java编辑器,所以我不确定如何检查这个。他希望我们写出代码,但我不知道在哪里声明这些整数,以及它应该如何正确编写。任何帮助都会很棒,谢谢!
public class Question2
{
public static void main (String [] args )
{
Keyboard kbd;
Kbd = new keyboard();
int n, tot, x;
System.out.println( “How many?”);
x = kbd.readInt();
}
while ( n < x )
{
System.out.println( “Enter a score”);
s = kbd.readInt();
tot = (tot + s);
n = (n + 1);
}
}
答案 0 :(得分:1)
你可以通过很多方式实现这一目标 在一个简单的程序中,你可以声明你的int s ,这是你在与其他人一起发布的代码中缺少声明的那个int(n,tot和x)
你的代码中的问题是你关闭了main方法然后尝试了一段时间。 这不会起作用,因为虽然不是另一种方法,所以你需要把时间放在第一个} 中并最后删除额外的}。
答案 1 :(得分:1)
首先,您可能希望while循环位于main
方法
public static void main (String [] args )
{
//other stuff
while ( n < x )
{
//content
}
}
其次,您应该根据是否需要它们在while循环的迭代中持久来声明变量。
如果你需要变量在循环的所有迭代中保持它的值,那么在main方法中声明它。
如果你要在循环的每次迭代后丢弃该值,那么在while循环中声明它。
在您的情况下,看起来tot
和n
应该在循环之外声明,而s
可以在循环内声明
答案 2 :(得分:1)
您需要了解面向对象编程中的范围。范围的概念允许或限制对变量的访问,具体取决于变量的声明位置和方式。 有关在Java中声明变量的信息,请参阅this article。您可能还应该熟悉Oracle提供的"Hello World" application。
基本上,Java类看起来像:
public class MyClass
{
...public or private variables accessible from any of the code below go here...
public static void main(String[] args) {
...declare variables only accessible by the main method here...
...do things here...
}
...declare other methods here...
...private methods can only be called by code in this class...
...public methods can be used by external code that uses this class...
public int Foo()
{
...declare some variables only accessible by Foo() code here...
...do some stuff...
}
private boolean Bar()
{
...declare some variables only accessible by Bar() code here...
...do some stuff...
}
}
你不能像这样在荷兰抛出while循环。它需要进入主方法或您创建的其他方法,可能是一个名为:
的方法public int CountScores(int numTimes)
{
...do some stuff...not sure exactly what you're trying to do
}
我也可能使用BufferedReader和InputStreamReader而不是Keyboard。请参阅this example。
答案 3 :(得分:1)
以下是while循环的示例。注意int变量的声明位置。问题与你的不完全相同,但概念是相似的。
public class foo {
public static void main(String[] args) {
int myInt = 7;
boolean result = true;
if (result == true)
do
System.out.println(myInt) ;
while (myInt > 10);
}
}
答案 4 :(得分:0)
我会这样组织你的代码:
public class Question2 {
int n, tot, x; //declaring variables
public Question2() //Class constructor {
//define the class here (i.e., initialize variables(x = whatever), and write the
// while loop
}
public static void main(String[] args) {
Question2 q2 = new Question2() //Creates an instance of the class to compile
}
}