在java中声明变量的数据类型

时间:2014-07-15 16:50:02

标签: java

所以我在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);
    }
}

5 个答案:

答案 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循环中声明它。

在您的情况下,看起来totn应该在循环之外声明,而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
    }
}