变量未在Java中初始化

变量未在Java中初始化,java,Java,谁能告诉我这个问题?我初始化了变量netClass1,但仍然给出了错误。 我试过netClass1=''但仍然给我一个错误 import java.io.*; import java.util.Scanner; public class MP3 { public static void main(String[] args) { Scanner get = new Scanner(System.in); String pc1 = ""; char

谁能告诉我这个问题?我初始化了变量netClass1,但仍然给出了错误。 我试过
netClass1=''但仍然给我一个错误

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

public class MP3 {
public static void main(String[] args) {

    Scanner get = new Scanner(System.in);

    String pc1 = "";
    char netClass1;

    // PC1
    System.out.print("Enter IP: ");
    pc1 = get.nextLine().trim();

    String[] ip1 = pc1.split("\\.");
    
    int pc1Octet1 = Integer.parseInt(ip1[0]);

    if (pc1Octet1 >= 0 || pc1Octet1 <= 127) {
        netClass1 = 'A';
    }

    System.out.println("Class: " + netClass1);

}// end main
}// end class
import java.io.*;
导入java.util.Scanner;
公共级MP3{
公共静态void main(字符串[]args){
Scanner get=新扫描仪(System.in);
字符串pc1=“”;
char-netClass1;
//PC1
系统输出打印(“输入IP:”);
pc1=get.nextLine().trim();
字符串[]ip1=pc1.split(“\\”);
int pc1Octet1=Integer.parseInt(ip1[0]);

如果(pc1Octet1>=0 | | pc1Octet1像上面所说的那样,netclass1可能没有初始化,我知道是您初始化的

netClass1 = '';
但是字符不能为空,所以

netClass1 = '0';

将起作用。

您只需初始化if块中的变量
netClass1
。但是如果您的程序没有进入该块,变量将不会被初始化,这就是为什么会出现错误。

在声明过程中不必初始化变量。但您必须指定任何值

是的,您分配了“A”,但不幸的是,有时此块可能无法执行

因此,它可能未初始化

但是java,在编译时如果java发现任何未初始化的变量,就会抛出异常


此外,netClass1=''初始化字符的方式是错误的。它将是netClass1='a'

char是实际字符,您不能有一个什么都不是的字符………您可以执行
netClass1='';
,因为空格是character@RobOhRob这对我来说是有意义的,也是新的。谢谢。我会记下来的。谢谢。所以我需要有一个else块作为后备。它起作用了,谢谢。