【发布时间】:2015-12-08 12:42:03
【问题描述】:
if (user.substring(0, 1).equals("1"))
{
if(FirstInt.substring(0,1).equals("0"))
permissionFor0=permissionFor0+"-";
else if (FirstInt.substring(0,1).equals("1"))
permissionFor0=permissionFor0+"r";
if(FirstInt.substring(1,2).equals("0"))
permissionFor0=permissionFor0+"-";
else if (FirstInt.substring(1,2).equals("1"))
permissionFor0=permissionFor0+"w";
if(FirstInt.substring(2,3).equals("0"))
permissionFor0=permissionFor0+"-";
else if (FirstInt.substring(2,3).equals("1"))
permissionFor0=permissionFor0+"s";
System.out.print (permissionFor0+" ");
if(SecondInt.substring(0,1).equals("0"))
permissionFor1=permissionFor1+"-";
else if (SecondInt.substring(0,1).equals("1"))
permissionFor1=permissionFor1+"r";
if(SecondInt.substring(1,2).equals("0"))
permissionFor1=permissionFor1+"-";
else if (SecondInt.substring(1,2).equals("1"))
permissionFor1=permissionFor1+"w";
if(SecondInt.substring(2,3).equals("0"))
permissionFor1=permissionFor1+"-";
else if (SecondInt.substring(2,3).equals("1"))
permissionFor1=permissionFor1+"x";
System.out.print (permissionFor1+" ");
if(ThirdInt.substring(0,1).equals("0"))
permissionFor2=permissionFor2+"-";
else if (ThirdInt.substring(0,1).equals("1"))
permissionFor2=permissionFor2+"r";
if(ThirdInt.substring(1,2).equals("0"))
permissionFor2=permissionFor2+"-";
else if (ThirdInt.substring(1,2).equals("1"))
permissionFor2=permissionFor2+"w";
if(ThirdInt.substring(2,3).equals("0"))
permissionFor2=permissionFor2+"-\n";
else if (ThirdInt.substring(2,3).equals("1"))
permissionFor2=permissionFor2+"x";
System.out.print (permissionFor2+"\n");
}
谁能帮我简化这段代码,让它不那么大。我知道它看起来像是硬编码的。这是我的代码的一部分,我不得不复制和粘贴四次,它使代码看起来很庞大而且不是很好。我试图看看是否可以将它放入一些 for 循环中,但我没有想出什么特别的东西。
【问题讨论】:
-
应该以命名约定开头。
-
使用循环,并将其放入迭代中。使用 index 和 index+1 作为值,而不是 (0.1),(1.2), ...
-
@Stultuske 但是我怎样才能让字母在循环中发生变化?
-
@AustinClark 为什么这种逻辑会改变?
标签: java