2012-04-06 2 views
0

したがって、0から400の範囲の数値を得るために乱数ジェネレータを作成する必要があります。これらを配列に入れて、後でソートします。私はちょうどこれを行うことについて行く方法がわかりません。私は何かの行に沿って与えられました。リンクされたリストの代入のための乱数ジェネレータメソッド

public int nextInt(400) //gives me errors 
{ 
    random.setSeed(12345L); 
    for (int i = 0; i < arr.size; i++) 
    { 
     val = random.nextInt(400); 
     a[i] = val; 
    } 
} 

私は既に方向性を示しているので、ランダムクラスを既に呼び出しています。なぜ私はこれが機能していないのか分かりません。特に最初の部分でエラーが出ます。クラス、インターフェイス、または列挙型が必要です。誰かが正しい方向に私を操縦してくれますか?

+1

"hello world"サンプルのような非常に基本的なチュートリアルを試しましたか?あなたは、最も単純なプログラムを書く方法の基礎をまだ持っていないようです。 –

+0

私は、はい。私は仕事をしてくれる作品を投稿していました。私は無作為のジェネレータで作業する必要がなかったので、全体のコンセプトは私にとって初めてのものです。私はそれを見つめて勉強しましたが、私が与えられたものとうまく網羅しません。 –

+1

コードの問題は、ランダムで作業することとは関係ありません。その複雑さを今のところ脇に置いてください。まだクラスを定義しておらず、メソッド宣言にエラーがあります。これらの問題はいずれもランダムの導入以外にも存在します。だから、あなたが知っているので、最初にそれらを修正してください。 –

答えて

0

あなたはJavaで

+0

しました。私はすでにそれを実装しています。私が実行している主な問題は、 "nextInt(400)"部分です。なぜ私は分かりません。それが私の任務に書かれた方法です。 –

+1

@Rachel:すでに実装されている場合は、質問をコードとして更新する必要があります。質問に表示されるエラーメッセージは、クラス内で関数を宣言していないことを示しています。あなたは私たちに[SSCCE](http://sscce.org)を提供する必要があります。これは、問題解決のための問題を正確に再現するコードです。 –

2

機能(すべてのプログラミング言語は)彼らの定義における「変数」を持つクラス定義内にこの関数を定義する必要があります。あなたが持っている

:こっち

public int nextInt(400) 

を、あなたはあなたの400が関数に渡された値になりたいです。

これを数学と考えてください。 f(x) = 2 * xのようなものを扱ったと思います。ここで、xは変数で、f(x)をxの値で "評価"します。ご覧のとおり、私たちの関数はint型であることがXを定義する

public int nextInt(int x) 

:同様に、プログラミングでは、私たちのようなものを持っていると思います。これは、Javaのような言語では必要です。なぜなら、この関数はxの整数しか受け付けないことをコンパイラーに伝えているからです。

これで、関数本体の変数としてxを使用できるようになりました。

変数を使用するときは、まず変数を定義する必要があることに注意してください。

int variable; 

などの変数は、intとして変数を定義します。

あなたのプログラムには、random,val,arrおよびaでこれらが見つかりませんでした。ここではarraが配列であることに注意してください(とにかく、2つの別々の変数ではないと感じています)。

この質問を試す前に、変数定義、配列、関数を実際にブラッシュアップする必要があります。あなたの最高のリソースはあなたの教科書でしょう。組織的で段階的なやり方ですべてを説明してくれるからです。オンラインで入手できる多くのチュートリアルを試すこともできます。特定の質問がある場合は、いつでもStackOverflowに戻ることができます。ここでヘルプを見つけることができます。

幸運を祈る!でも、あなたが指定した

+0

ありがとうございます!それはたくさんの助けになりました。ほんとうにありがとう! –

0

:このインライン関数

public int nextInt(400) 

int型を返し、あなたの全身にuが任意のreturn文を持っていませんでした。

はい、Kshitij Mehataは400を値の変数として直接使用しないことを提案しました。

これはあなたの関数でなければなりません:

public int[] nextInt(int x) //gives me errors 
    { 
     random.setSeed(12345L); 
     int[] a=new int[arr.size]; 
     for (int i = 0; i < arr.size; i++) 
     { 
      val = random.nextInt(400); 
      a[i] = val; 
     } 
     return a; 
    } 

も、このARRが来るところから編曲:といくつかの問題があるのでしょうか?

+0

OPはプログラミングを学ぼうとしており、これは宿題なので、コードを与えないのが最善です。むしろ、手順を説明して、それらが解決策自体に到達するようにしてください。 –

+0

私は同意します。私はそれを念頭に置いています。 –

関連する問題