1

ここでは、オンラインのツールを使用して Java を学習しようとしているまったくの初心者です。別のクラスファイルを取得してランダムな int を返す方法がわからないため、今は明らかに何か間違っています。ランダムコードは問題ありませんが、実際に正しく返す方法がわかりません! おそらく多くの人にとってJava 101のように思えますが、私は迷っています。笑

すべてを1つのファイルに入れないようにする方法の演習として、それらを個別のクラスファイルに入れたいです。これは、1 つのクラスに入れるだけでうまくいきましたが、ここで練習したいことではありません。助けてくれてありがとう!

クラスファイル 1:

package whatsthis;

import java.util.Random;
import java.util.Scanner;

public class Noidea{

    private static Scanner user_input;

    public static void main(String[] args)
    {
        System.out.println("Git is awesome");

        Scanner user_input = new Scanner(System.in);
        randnum rn = new randnum();
        System.out.println("RANDOM NUM: " +rn);

        System.out.println("What is your name?");
        String first_name;
        first_name = user_input.next();
        System.out.println("Hello, "+first_name);

        int health = 100;

        while( health>0 )
        {   
            //System.out.println(rndNum);
            //System.out.println(rndNum);

            System.out.println(health);
            System.out.println("Attack? Y/N");
            String attack;
            attack = user_input.next();

            if (attack.equals("Y")){
                System.out.println("KILL!");
                System.out.println("You've done " + rn + " damage!");
                //health = health - rn;
                System.out.println(health);

            } else {
                System.out.println("cower..");
            }
        }
    }   
}

クラスファイル 2:

package whatsthis;

import java.util.Random;

public class randnum
{
    public int randnum()
    {
        int Low = 10;                               //Used for lowened number in random
        int High = 15;                              //Used for highend number in random
        Random rndGen = new Random();               //Declare a new 'random' object
        int rn = rndGen.nextInt(High-Low) + Low;    //Proper random between two numbers (high and low)

        return rn;
    }
}

探している番号の代わりに、whatsthis.randnum@2d09b23bが返さ れます。これが非常に単純である場合は、もう一度申し訳ありません。

4

5 に答える 5

4

あなたはほとんどそこにいます - 任意のクラス Y からクラス X のメソッドを呼び出すには、クラス Y でクラス X のインスタンスを作成する必要があります (クラスでrandnumオブジェクトを作成することで既に行ったようにNoIdea)。次のようにメソッドを呼び出します。

int num = rn.randnum();
//do something with num

記録のために、クラスの名前を大文字にすることは、受け入れられている Java 規則として...

于 2013-05-17T01:01:20.197 に答える
2

これを行う:

randnum rn = new randnum();
int i = rn.randnum();

また、 Java プログラミング言語のコード規則についてもお読みください。

于 2013-05-17T01:00:28.007 に答える