三角形
Problem Description
给定三条边,请你判断一下能不能组成一个三角形。
Input
输入数据第一行包含一个数M,接下有M行,每行一个实例,包含三个正数A,B,C。其中A,B,C <1000;
Output
对于每个测试实例,如果三条边长A,B,C能组成三角形的话,输出YES,否则NO。
Sample Input
2
1 2 3
2 2 2
Sample Output
NO
果然两个scanner是不行的
Problem Description
给定三条边,请你判断一下能不能组成一个三角形。
Input
输入数据第一行包含一个数M,接下有M行,每行一个实例,包含三个正数A,B,C。其中A,B,C <1000;
Output
对于每个测试实例,如果三条边长A,B,C能组成三角形的话,输出YES,否则NO。
Sample Input
2
1 2 3
2 2 2
Sample Output
NO
YES
这道题我一开始这么做,直接WA
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
Scanner scanner2=new Scanner(System.in);
int num=scanner.nextInt();
double[] bian=new double[3];
for(int i=0;i<num;i++){
for(int j=0;j<3;j++){
bian[j]=scanner2.nextDouble();
}
if((bian[0]+bian[1]>bian[2])&&(bian[2]+bian[1]>bian[0])&&(bian[0]+bian[2]>bian[1])){
System.out.println("YES");
}
else{
System.out.println("NO");
}
}
}
}
果然两个scanner是不行的
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
int num=scanner.nextInt();
double[] bian=new double[3];
for(int i=0;i<num;i++){
for(int j=0;j<3;j++){
bian[j]=scanner.nextDouble();
}
if((bian[0]+bian[1]>bian[2])&&(bian[2]+bian[1]>bian[0])&&(bian[0]+bian[2]>bian[1])){
System.out.println("YES");
}
else{
System.out.println("NO");
}
}
}
}
这样就OK!