function total_validate(sender, args){
var control = $find(sender.controltovalidate);
var textBoxA = $find(//textBoxA ID).value;
var textBoxB = $find(//textBoxB ID).value;
var textBoxC = $find(//textBoxC ID).value;
if (//textbox a plus b plus c is NOT what you want)
{
arguments.IsValid = false;
}
}
答案 0 :(得分:1)
查看if (a+b>c&&b+c>a&&a+c>b);
如果分号跟在这样的if语句后面,那么如果条件为真则没有任何反应(if条件中的任何副作用除外)。
此外,您的缩进与您的ifs所做的不一致,您需要大括号才能将语句组合在一起。
if (cond) {
statement1;
statement2;
}
如果没有花括号,则statement2不是if语句块的一部分,在:
if (cond)
statement1;
statement2;
然后,无论cond是否为真,statement2都会生效。 Java编译器不关心你的缩进。
回答“我能做错什么”的问题:你正在预先编写所有代码,并且只有在输入后才能使其工作。一次编写代码并测试随你而去一次编写一堆代码只会导致大量错误排序。
答案 1 :(得分:1)
因为else
与if
没有关联。
你这里有一个if
,它本身没有做任何事情:
if (a+b>c&&b+c>a&&a+c>b);
(注意分号。这会完全终止if
块。所以这实际上是一个空 if
块。)
如果您想将这些后续行代码放在if
块中,请使用花括号:
if (a+b>c&&b+c>a&&a+c>b) {
System.out.println("The triangle with sides " + a + "," + b + ", and" + c + " is Scalene.");
if (a==b&&b==c)
System.out.println("The triangle with sides " + a + "," + b + ", and" + c + " is Equilateral");
else // (a==b) || (a==c) || (b==c)
System.out.println("The triangle with sides " + a + "," + b + ", and" + c + " is Isoceles");
}
else
System.out.println("There is no triangle with sides " + a + "," + b + ", and" + c);
即使除了分号之外,只要你有多个语句放入代码块(例如if
块或for
循环),那么你需要将它们分组大括号的陈述。
答案 2 :(得分:1)
if (a+b>c&&b+c>a&&a+c>b);
这是一个noop。没有花括号的if
只能包含一条指令。这个独特的指令是noop:;
。
使用if,while,for等时总是使用大括号