Java 如何访问大括号内的整数?

Java 如何访问大括号内的整数?,java,scope,Java,Scope,数据文件: J A V A 1 H 11 H 21 H 1 V 2 V 3 V 2 H 12 H 22 H 3 V 4 V 5 V 7 H 6 V 17 H 代码(较大程序的一部分): File dataFile=新文件(“data.txt”); 扫描仪输入; in=新扫描仪(数据文件); 字符串letter1=in.next()//读取单词的第一个字母并将其存储为字符串 字符串letter2=in.next()//读取单词的第二个字母并将其存储为字符串 字符串letter3=in.next(

数据文件:

J A V A
1 H 11 H 21 H
1 V 2 V 3 V
2 H 12 H 22 H
3 V 4 V 5 V
7 H 6 V 17 H
代码(较大程序的一部分):

File dataFile=新文件(“data.txt”);
扫描仪输入;
in=新扫描仪(数据文件);
字符串letter1=in.next()//读取单词的第一个字母并将其存储为字符串
字符串letter2=in.next()//读取单词的第二个字母并将其存储为字符串
字符串letter3=in.next()//读取单词的第三个字母并将其存储为字符串
字符串letter4=in.next()//读取单词的第四个字母并将其存储为字符串
//并非所有这些int都在这里显示的代码中使用
int firstLetterValue1;
int-secondLetterValue1;
int thirdLetterValue1;
int-fourthLetterValue1;
int firstLetterValue2;
int-secondLetterValue2;
int-thirdLetterValue2;
int-fourthLetterValue2;
int firstLetterValue3;
int-secondLetterValue3;
int-thirdLetterValue3;
int-fourthLetterValue3;
整数乘法器1=1;
整数乘法器2=1;
整数乘法器3=1;
int totalWordValue1=0;
int totalWordValue2=0;
int totalWordValue3=0;
//这些测试看单词的第一、第二、第三或第四个字母
//等于指定的字母,如果是,
//然后将一个值存储到另一个整数中
if(字母1.等信号案例(“A”)| |字母1.等信号案例(“E”))
{
firstLetterValue1=1;
firstLetterValue2=1;
firstLetterValue3=1;
}               
else if(字母1.等信号情况(“D”)| |字母1.等信号情况(“R”))
{
firstLetterValue1=2;
firstLetterValue2=2;
firstLetterValue3=2;
}
else if(字母1.等信号情况(“B”)| |字母1.等信号情况(“M”))
{
firstLetterValue1=3;
firstLetterValue2=3;
firstLetterValue3=3;
}
else if(字母1.等信号情况(“V”)| |字母1.等信号情况(“Y”))
{
firstLetterValue1=4;
firstLetterValue2=4;
firstLetterValue3=4;
}
//例如,在单词“ja V A”中,第一个字母即“J”将存储
//将值“8”输入括号内的整数(firstLetterValue1、firstLetterValue2等)
else if(字母1.等信号情况(“J”)| |字母1.等信号情况(“X”))
{
firstLetterValue1=8;
firstLetterValue2=8;
firstLetterValue3=8;
}

对于(int num=0;num,您只需将默认值分配给局部变量即可编译

int i = -1;

if( /* some condition */) {
  i = 10;
}

System.out.println(i);

您只需将默认值分配给局部变量,使其可编译

int i = -1;

if( /* some condition */) {
  i = 10;
}

System.out.println(i);

如果
If
/
中的任何条件均为true,则不会初始化变量。有两个选项:

  • 在声明它们时,使用默认值初始化它们
  • 添加
    else
    语句,以确保始终初始化变量

如果
如果
/
中没有任何条件,如果
为真,则不会初始化变量。有两个选项:

  • 在声明它们时,使用默认值初始化它们
  • 添加
    else
    语句,以确保始终初始化变量


if
条件为false时,除非为其分配了值,否则您将无法读取
firstLetterValue1
。for
循环的
在哪里?如果条件从未为true,则可能。检查条件Java中可能的重复项,以引用任何类型的变量,该变量必须已初始化。而实例变量在对象创建时被初始化为零/空,而局部变量则不是。如果从变量声明到引用点存在某种可能的执行路径,其中变量没有赋值,则不允许引用。(这对Java验证至关重要,而不仅仅是一个任意的限制。)除非在
if
条件为false时为其分配了值,否则您将无法读取
firstLetterValue1
。for
循环的
在哪里?如果条件从未为true,则可能。请检查Java中可能重复的条件,以便引用任何类型的变量,该变量必须已初始化。而对象instance变量在对象创建时被初始化为零/空,而局部变量则不被初始化。如果存在从变量声明到引用点(其中变量未赋值)的可能执行路径,则不允许引用。(这对Java验证至关重要,而不仅仅是一个任意的限制。)这不是真的。您不需要初始化基元类型。是的,我也不这么认为。为什么要进行向下表决?在Java中首次使用之前必须初始化局部变量。是的,您确实需要初始化一个本地声明的基元。@HotLicks您通常不需要初始化局部变量。所需的是变量在每次使用时都被明确分配。如果我希望所有路径都分配给一个变量,我不会初始化它,这样如果我错了,我就会出错,而不是静默地使用任意的初始化值。这不是真的。你不需要初始化基元类型。是的,我也不这么认为。为什么要进行向下投票?局部va变量在Java中首次使用之前必须初始化。是的,您确实需要初始化本地声明的基元。@HotLicks通常不需要初始化本地变量。所需的是变量在每次使用时都被明确分配。如果我希望所有路径都分配给变量,我不会初始化它o如果我错了,我将得到一个错误,而不是沉默地使用任意初始化值。