黑马程序员技术交流社区

标题: 关于返回值问题 [打印本页]

作者: 郑枫    时间: 2012-8-5 18:16
标题: 关于返回值问题
大神们。
你们一般开发写函数是带返回值还是写成void 的呢?

  1. <DIV class=blockcode>
  2. <BLOCKQUOTE>
  3. <BLOCKQUOTE>
  4. <P>class Demo2
  5. {
  6. public static void sop(String str)
  7. {
  8.   System.out.println(str);
  9. }
  10. public static void main(String[] args)
  11. {
  12.    String s1 = "abcwerthelloyuiodef";
  13.    String s2 = "cvhellobnm";</P>
  14. <P>  
  15.    getMaxSubString(s1,s2);</P>
  16. <P> }</P>
  17. <P> public static void getMaxSubString(String s1,String s2)
  18. {
  19.   String max = "";//长串
  20.   String min = "";//短串</P>
  21. <P>     max=(s1.length()>s2.length())?s1: s2;
  22.   min = (max==s1)?s2: s1;
  23.    
  24.   for (int x = 0;x<min.length() ;x++ )
  25.   {
  26.    for (int y = 0,z = min.length()-x; z!=min.length()+1  ; y++,z++ )
  27.    {     
  28.     String temp = min.substring(y,z);
  29.      //sop("trmp="+trmp);</P>
  30. <P>     if(max.indexOf(temp)!=-1)
  31.     {
  32.      //问题所在,如果写成带返回值类型的话可以在这里返回trmp
  33.      //但是如果直接打印的话,这里怎么写呀
  34.      sop("trmp="+temp);
  35.      break;
  36.     }   
  37.    }
  38.   }
  39. }
  40. }</P>
复制代码
直接打印的话 打印结果它又继续缩短位数了。
麻烦大神们看看

作者: 马州州    时间: 2012-8-5 19:20
你这代码里面带着HTML代码,看的头疼,你重新编辑一下吧
作者: 郑枫    时间: 2012-8-5 19:26
马州州 发表于 2012-8-5 19:20
你这代码里面带着HTML代码,看的头疼,你重新编辑一下吧
  1. class Demo4
  2. {
  3.         public static void sop(String str)
  4.         {
  5.                 System.out.println(str);
  6.         }
  7.         public static void main(String[] args)
  8.         {
  9.                  String s1 = "abcwerthelloyuiodef";
  10.                  String s2 = "cvhellobnm";

  11.                
  12.                  sop(getMaxSubString(s1,s2));

  13.         }

  14.         public static String getMaxSubString(String s1,String s2)
  15.         {
  16.                 String max = "";//长串
  17.                 String min = "";//短串

  18.             max=(s1.length()>s2.length())?s1: s2;//如果s1长度s2长度,那么赋值s1否则赋值s2
  19.                 min = (max==s1)?s2: s1;//如果max和s1相等,那么赋值s2,否则赋值s1
  20.                 //下面的是循环打印s2,
  21.                 //y是首位,z是末尾
  22.                  
  23.                 for (int x = 0;x<min.length();x++)
  24.                 {
  25.                         for (int y = 0,z = min.length()-x; z!=min.length()+1  ; y++,z++ )
  26.                         {                                       
  27.                                 String temp = min.substring(y,z);
  28.                                  //sop("trmp="+trmp);

  29.                                  if(max.indexOf(temp)!=-1)

  30.                                 //这里,如果返回类型是void的话 这里怎么写呢?
  31.                                  return temp;
  32.                         }
  33.                 }
  34.                 return "";
  35.         }
  36. }
复制代码

作者: 马州州    时间: 2012-8-5 20:13
我说一下我的看法吧
在写程序的时候,是带返回值还是用void,是要根据情况来的
比如说
public String getName()
{
     return name;
}
这个函数需要返回值,你定义成void怎么获取呢?
也可以这么说,只要带返回值类型的都需要返回
不带返回值类型的,这个函数就是实现功能,

再比如说你定义一个函数是要实现某个功能的
public void print()
{
     System.out.println();
}

你要根据你的实际需求去定义函数

作者: 郑枫    时间: 2012-8-6 09:23
马州州 发表于 2012-8-5 20:13
我说一下我的看法吧
在写程序的时候,是带返回值还是用void,是要根据情况来的
比如说

:(  我挺喜欢void的..... 可有时候还用不成。。。
作者: 马州州    时间: 2012-8-6 10:01
郑枫 发表于 2012-8-6 09:23
我挺喜欢void的..... 可有时候还用不成。。。

额~~~都喜欢void。。。不用考虑返回值类型什么的,只管写就行,不过敲的代码多了,自然就能区分出来了
之前就这个函数返回值类型,参数传入什么的搞的我纠结死了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2