Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我需要修复什么才能让它打印出一个随机字符字符串?_Java - Fatal编程技术网

Java 我需要修复什么才能让它打印出一个随机字符字符串?

Java 我需要修复什么才能让它打印出一个随机字符字符串?,java,Java,正如标记所暗示的,这是Java语言。我不知道如何让它在代码末尾打印出“key”字符串,同时保持变量的原样。我只真正使用过静态main,我不知道它对程序有什么作用,因为我完全是个新手。有人能给我指出正确的方向吗?我想知道你们的想法 import java.util.Random; class Key { private String key = new String(); private void main(String[] args) { Random r =

正如标记所暗示的,这是Java语言。我不知道如何让它在代码末尾打印出“key”字符串,同时保持变量的原样。我只真正使用过静态main,我不知道它对程序有什么作用,因为我完全是个新手。有人能给我指出正确的方向吗?我想知道你们的想法

import java.util.Random;

class Key {

    private String key = new String();
    private void main(String[] args) {
        Random r = new Random();

        for (int i = 10; i > 0; i--) {
            int randomNumber = r.nextInt(10) + 48;
            int randomLetter = r.nextInt(26) + 97;
            int branchSwitch = r.nextInt(2);

            if (branchSwitch == 1) {
                // System.out.print((char)randomNumber);
                key = key + (char) randomNumber;
            } else
                key = key + (char) randomLetter;
            // System.out.print((char)randomLetter);
        }
        System.out.print(key);
    }
}

我不明白为什么你的
main
是私有的(非静态的)

然而,这里有一个例子。它似乎工作正常

我所做的改变:

  • 将主要方法公开为静态
  • 使变量为静态

我不明白为什么您的
main
是私有的(非静态的)

然而,这里有一个例子。它似乎工作正常

我所做的改变:

  • 将主要方法公开为静态
  • 使变量为静态

首先,如果要将其作为应用程序运行,main应该是
public static
。 因此,您可以按如下方式修复程序(请注意,原始的
main
重命名为
generateAndPrint
,因为一个类中不能有两个具有相同签名的方法):


首先,如果要将其作为应用程序运行,main应该是
publicstatic
。 因此,您可以按如下方式修复程序(请注意,原始的
main
重命名为
generateAndPrint
,因为一个类中不能有两个具有相同签名的方法):


如果使用
println
而不是
print
,会发生什么情况?(可能有什么东西在缓冲输出?)如果使用
println
而不是
print
,会发生什么?(可能有什么东西在缓冲输出?)您应该提到,您在应用程序运行之前对其进行了修改。main之所以是私有的,是因为我不知道自己在做什么。你能给我指出一些用外行术语解释main和static的东西吗?你应该提到你在应用程序运行之前修改了它。main是私有的原因是因为我不知道我在做什么。你能给我指一些用外行术语解释主要和静态的东西吗?
class Key {
    private String key = new String();
    private void generateAndPrint() {
        Random r = new Random();

        for (int i = 10; i > 0; i--) {
            int randomNumber = r.nextInt(10) + 48;
            int randomLetter = r.nextInt(26) + 97;
            int branchSwitch = r.nextInt(2);

            if (branchSwitch == 1) {
                // System.out.print((char)randomNumber);
                key = key + (char) randomNumber;
            } else
                key = key + (char) randomLetter;
            // System.out.print((char)randomLetter);
        }
        System.out.print(key);
    }

    public static void main(String[] args) {
        Key key = new Key();
        key.generateAndPrint();
    }
}