Java 变量问题

Java Variable Issue

我正在编写一个程序来比较两个字符串之间的差异,我遇到了变量 shorterS 的错误,它是两个字符串中较短的一个。编译器说 "the variable is already defined in main method"

int length1 = inputStr1.length();
int length2 = inputStr2.length();

int shorterS;
if(length1 <= length2)
   {int shorterS = length1;}
 else
   {int shorterS = length2;} 


int numDiff = 0;

for(int j=0; j<shorterS; j++)
{
  if(inputStr1.charAt(j) != inputStr2.charAt(j))
   System.out.print((j-1)+" "+inputStr1.charAt(j)+" "+inputStr2.charAt(j)); numDiff=numDiff++;

您只需声明一个变量一次,然后在第 3 行执行

int shorterS;

删除 shorterS 之前的所有其他 int 声明

int length1 = inputStr1.length();
int length2 = inputStr2.length();

int shorterS;
if(length1 <= length2)
   {shorterS = length1;}
 else
   {shorterS = length2;} 


int numDiff = 0;

for(int j=0; j<shorterS; j++)
{
  if(inputStr1.charAt(j) != inputStr2.charAt(j))
   System.out.print((j-1)+" "+inputStr1.charAt(j)+" "+inputStr2.charAt(j)); numDiff=numDiff++;

无需再次输入

int shorterS = length2;

只需输入

shorterS = length2;

这两种情况都适用。原因是因为你已经声明了一个同名的变量类型int。