日期:2014-05-20  浏览次数:20812 次

100分求救!!一道很简单的题目
问题是这样的 我想要在判断类中有返回值(因为要有返回值才能进行单元测试 我是测试专业的) 然后主类中输出判断结果
各位帮帮忙
判断类
package sanj;
public class Judge {

public static void a(int a,int b,int c){
if(a+b<c || a+c<b || b+c<a){
System.out.println("你输入的不能构成三角形");
}
}

public static void b(int a,int b,int c){
if(a==b || a==c || b==c)
{
if(a==b && b==c) System.out.println("等边三角形");
}

}

public static void c(int a,int b,int c){
if(a==b || a==c || b==c)
{
if(a==b && b==c){

}
else{
System.out.println("等腰三角形");
}
}
}
public static void d(int a,int b,int c){
if(a*a+b*b==c*c||a*a+c*c==b*b||c*c+b*b==a*a)
System.out.println("等腰直角三角形");

}

public static void e(int a,int b,int c){
if(a==b || a==c || b==c || a*a+b*b!=c*c||a*a+c*c!=b*b||c*c+b*b!=a*a){

}
else{
System.out.println("一般三角形");
}
}

}


主类

package sanj;
import java.io.*;
class sanj{
public static int a,b,c;
  public static void main(String arg[]) throws IOException{
try{
BufferedReader stdin=new BufferedReader(new InputStreamReader(System.in)); //接收键值
System.out.println("输入三边值,每个值输入后回车");
System.out.println("请输入:");
a=Integer.valueOf(stdin.readLine());
b=Integer.valueOf(stdin.readLine());
c=Integer.valueOf(stdin.readLine());
}catch(IOException e){
System.out.println("出现异常!");
System.exit(0);
}
Judge.a(a, b, c);
Judge.b(a, b, c);
Judge.c(a, b, c);
Judge.d(a, b, c);
Judge.e(a, b, c);



if(a+b+c>30) System.out.println("三角形周长是"+(a+b+c));
else System.out.println("三角形三边长分别是:"+ a +" "+b+" "+c);
  }
}



------解决方案--------------------
你将判断类的返回值定义为String类型的,然后return一个结果。这样应该可以达到你的要求吧
------解决方案--------------------
为什么不把所有判断写在一个方法里面呢?
------解决方案--------------------
将判断的方法都提供一个返回值,这样这样调用方就知道判断后的结果了。
------解决方案--------------------
没太搞懂你的问题 你想返回什么 确认方法是否执行么? 你可以 if(){}else{}都加控制台输出 这样应该就可以啊 想要有返回值的话也简单 去掉void 方法返回String类型 然后 return你输出的字符串就行
------解决方案--------------------
返回值和传入的值是没有关系的,比如你传进去的数据类型可以是int,Boolean,或者string,甚至什么都不传,但返回的结果可以是int,Boolean,string等任何类型,具体要看你想返回什么东西了
比如:public String add(int a,int b){
int c=0;
c=a+b;
return "你的这个方法返回的是一个string字符串";
}

当调用这个方法时,返回的结果就是 ”你的这个方法返回的是一个string字符串“,打印出来就能看到,希望能帮到你
------解决方案--------------------
Java code

public String a(int a,int b,int c){
String message ="";
if(a+b<c || a+c<b || b+c<a){
message = "你输入的不能构成三角形";
System.out.println("你输入的不能构成三角形");
}
return message;
}
...
String message = Judge.a(a, b, c);
...

------解决方案--------------------
http://topic.csdn.net/u/20120704/12/e3e6b2c5-cdfc-4a7f-b43e-42639f58048c.html

看来这也是一道课后题了,昨天有人问过,看是不是一个问题。
------解决方案--------------------
探讨

返回值和传入的值是没有关系的,比如你传进去的数据类型可以是int,Boolean,或者string,甚至什么都不传,但返回的结果可以是int,Boolean,string等任何类型,具体要看你想返回什么东西了
比如:public String add(int a,int b){
int c=0;
c=a+b;
return "你的这个方法返回的是……