特点:针对嵌套的if,else语句进行修改,使程序逻辑清晰并提高程序的可读性。
方法:先对循环判断的值进行假设,再依次进行条件判断,若符合条件则进行修改。
例1:
/*
int a = ..
int b = ..
int c = ...
求3个数字中的最大值
*/
public class T1
{
public static void main(String[] args)
{
int a = 5;
int b = 10;
int c = 6;
int m = if a>b?(a>c?a:c):(b>c?b:c);
System.out.println(m);
}
}
假设修正法改进,若增加参与比较数的个数 也方便修改
/*
int a = ..
int b = ..
int c = ...
求3个数字中的最大值
*/
public class T1
{
public static void main(String[] args)
{
int a = 5;
int b = 10;
int c = 6;
int m = a;
if(b>m) m = b;
if(c>m) m = c;
System.out.println(m);
}
}
例2:
/*
int year = 1990;
求是否为闰年
*/
public class T2
{
public static void main(String[] args)
{
int year = 2000;
boolean t = false;
if(year%4==0) t = true;
if(year%100==0) t = false;
if(year%400==0) t = true;
System.out.println(t);
}
}