使用私有静态布尔值

时间:2012-09-29 00:08:27

标签: java static private

我是java的全新学生,我一直在搜索谷歌和我的教科书,以弄清楚使用私有静态布尔值究竟意味着什么,虽然它们都没有任何意义所以我想我会问专家。我的问题是我需要使用私有静态类,虽然我不知道如何从main绘制我需要的数据(这是我的教授已经写好的)。你有什么建议或见解吗?我基本上将我已经以嵌套循环形式编写的代码转换为私有类。

编辑: 这就是我必须要做的事情(我不是在寻找讲义)

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();

} 

}

任务分为三部分:查找素数,完美数字和回文。 对于第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();

我大多不确定如何以新的方式应用我已经知道的东西。

3 个答案:

答案 0 :(得分:2)

首先,您提到了私有静态类,您可以拥有静态内部类。但你不能用私有修饰符标记一个类(外部类),即你不能拥有私有类(外部类)。 外部类只能用公共最终抽象默认(无修饰符)

标记

private static boolean:

私有访问修饰符,可用于实例变量和方法。 私有变量和私有方法仅限于声明它们的类。

静态非访问修饰符,可用于变量和方法。静态变量由类的所有实例共享。

布尔原始数据类型,可以是true或false。

如果将布尔变量声明为私有静态,如

  class MyClass {
       private static boolean bool;
   }

1。这个bool变量只能从定义它的类(MyClass)中访问。

2.为此类创建的所有实例(MyClass)都共享此bool变量。

答案 1 :(得分:0)

您不会将主要主跳转中的数据转移到其他功能,并将所需数据传递给它们。如果你在谈论成员变量,基本上只是移动当前本地的变量,但是不止一次地使用在类块之下而不是在任何函数中。

答案 2 :(得分:0)

你对“阶级”这个词的使用令人困惑,虽然我相信你实际上是指“方法”而不是“阶级”

通过“private static boolean”我猜你在谈论方法 header ,这是一个代码块,可以调用(调用)在程序的任何一点。一种方法通常会接受一定数量的参数,但通常但不总是返回一个值。

private:将方法的使用限制在中。

static:一个静态的方法可以直接通过类名访问,不需要任何对象,即ClassName.methodName()与ObjectName.methodName()。

boolean:只是意味着该方法返回 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;
}