0

私はJavaの真新しい学生であり、グーグルと私の教科書を検索して、プライベート静的ブール値を使用することの正確な意味を理解していますが、実際には意味がないので、専門家に聞いてみようと思いました。私の問題は、プライベート静的クラスを使用する必要があることですが、メインから必要なデータを描画する方法がわかりません(これは教授によってすでに作成されています)。何か提案や洞察はありますか?私は基本的に、ネストされたループの形ですでに記述したコードをプライベートクラスに変換しています。

編集:これは私が作業しなければならないものです(私は配布物を探していません)

import java.io.*;
import java.util.*;

public class Foo
{
public static void main (String[] args) throws Exception
{

    int lo = 0;
    int hi = 0; 
    String infileName; 

    if (args.length < 3)
    {
            System.out.println("CMD LINE INPUT ERROR: Must enter 2 numbers followed by name of input file on cmd line.");
            System.exit(0);
    }

    lo = Integer.parseInt(args[0]);
    hi = Integer.parseInt(args[1]);
    infileName = args[2];

    for( int n = lo; n<=hi; n++)
        if (isPrime(n))
            System.out.print(n + " ");
    System.out.println();

    for( int n=lo; n<=hi; n++)
        if (isPerfect(n))
            System.out.print(n + " ");
    System.out.println();

    while (infile.ready()) 
    {
        String line = infile.readLine(); 
        if ( isPalindrome( line ) )
            System.out.println( line + " IS a palindrome");
        else
            System.out.println( line + "is NOT a palindrome");
    }
    infile.close();

} 

}

割り当ては、素数、完全数、回文の3つの部分に分かれています。パート1の例として、私は以前、素数を見つけるために以下を使用しました

for(int i= lo; i < hi; i++)
        {

            boolean isPrime = true;

            for(int j=2; j < i ; j++)
            {

                if(i % j == 0)
                {
                    isPrime = false;
                    break;
                }
            }

            if(isPrime)
            System.out.print(i + " ");
        }

        System.out.println();

すでに知っていることを新しい方法で適用する方法がほとんどわかりません。

4

3 に答える 3

2

最初に、private static classについて言及しましたが、 static inner classを持つことができます。ただし、クラス (外部クラス) をプライベート修飾子でマークすることはできません。つまり、プライベート クラス(外部クラス) を持つことはできません。外側のクラスは、 publicfinalabstract、またはdefault (修飾子なし)でのみマークできます。

プライベート静的ブール値:

privateは、インスタンス変数とメソッドに使用できるアクセス修飾子です。プライベート変数とプライベート メソッドは、それらが宣言されたクラスにのみ制限されます。

staticは、変数とメソッドに使用できる非アクセス修飾子です。静的変数は、クラスのすべてのインスタンスで共有されます。

booleanは、true または falseのプリミティブ データ型です。

ブール変数をprivate staticとして宣言した場合

  class MyClass {
       private static boolean bool;
   }

1. この bool 変数は、定義されているクラス (MyClass) 内からのみアクセスできます。

2.このクラス (MyClass) 用に作成されたすべてのインスタンスは、この bool 変数を共有します。

于 2012-09-29T00:17:45.277 に答える
0

メイン、メインジャンプから他の関数​​へのデータを取得せず、必要なデータをそれらに渡します。メンバー変数について話している場合は、基本的に、現在ローカルであるが、複数回使用されているものを、関数ではなく、クラス ブロックのすぐ下に移動するだけです。

于 2012-09-29T00:13:19.237 に答える
0

「クラス」という言葉の使い方は紛らわしいですが、実際には「クラス」ではなく「メソッド」を意味していると思います

「private static boolean」とは、コードのブロックであり、プログラムの任意の時点で呼び出す (呼び出す) ことができるメソッドのヘッダーについて話していると思います。メソッドは多くの場合、一定量のパラメーターを受け取り、常にではありませんが値を返します。

private: メソッドの使用を、それが定義されているクラスに制限します。

static: 静的なメソッドは、クラス名で直接アクセスでき、オブジェクトを必要としません。つまり、ClassName.methodName() と ObjectName.methodName() です。

boolean:メソッドによってブール値が返されることを意味します。

コードは次のようになります。

private static boolean isBiggerThanZero( int number)
{
    boolean isBigger = false;

    //Do something with number or test it for a condition
    if( number > 0 )
        isBigger = true;

   return isBigger;
}
于 2012-09-29T00:21:20.910 に答える