怎么才能判断何时有返回值何时void?

问题描述

Stringtest="http://jia@126.com";这里是一个String类型的变量publicvoidfuction(Stringtest){在方法声明中为什么是void没有返回值,为什么不是String我不知道怎么才能判断什么时候使用void题如下编写函数parseMailAddr,解析邮件地址,打印出protocol、username、domainname。publcstaticvoidparseMailUrl(StringmailUrl)例如:mailto://superman@giantstone.com,打印输出:protocol[mailto]username[superman]domainName[giantstone.com]请各位帮帮忙我刚入门对一些东西还是比较模糊请各位帮我把这个写完我想看看完整的是什么样子的去理解,谢谢了~

解决方案

解决方案二:
publicvoidfuction(Stringtest)首先要看你这个方法是用来干什么的,如果你这个方法是用来判断url是否合法,那么这个方法可以返回布尔类型publicbooleanfunction(Stringtest)如果你这个方法是用来把test这个String保存到数据库中的,而且不需要知道保存是否成功,那么就可以返回void,这样一般情况下只有抛出异常才知道是否保存成功了。
解决方案三:
你想通过这个方法进行处理一些数据,然后将处理过的数据进行返回,也就是你想得到这些经过处理的数据,你的方法就应该有返回值,如果你仅仅是在方法中进行一些操作,比如打印,那么这个方法的职责就是向控制台输出你想要的结果,输出以后这个方法的作用就完成了,也就不需要返回值了,所以就用void
解决方案四:
publicstaticvoidparseMailUrl(StringmailUrl){Stringprotocol=mailUrl.substring(0,mailUrl.indexOf(":"));Stringusername=mailUrl.substring(mailUrl.lastIndexOf("/")+1,mailUrl.indexOf("@"));StringdomainName=mailUrl.substring(mailUrl.indexOf("@")+1,mailUrl.length()-1);System.out.println("protocol["+protocol+"]");System.out.println("username["+username+"]");System.out.println("domainName["+domainName+"]");}

解决方案五:
引用1楼jinhuiyu的回复:

publicvoidfuction(Stringtest)首先要看你这个方法是用来干什么的,如果你这个方法是用来判断url是否合法,那么这个方法可以返回布尔类型publicbooleanfunction(Stringtest)如果你这个方法是用来把test这个String保存到数据库中的,而且不需要知道保存是否成功,那么就可以返回void,这样一般情况下只有抛出异常才知道是否保存成功了。

另外,既然是学习还是自己动手的好,写出来如果有错误大家可以帮你改正但是如果只是看别人的代码是不会有提高的,呵呵
解决方案六:
需要什么返回就用什么,用void的时候实际上用其他的也可以
解决方案七:
骑车、游泳。每个人都能看得懂,但并不是每个人都会!写程序也是这个道理!
解决方案八:
publicclassParseString{privateStringstr="http://www.sina.com.cn/";publicvoidparse(){Stringprotocol=str.substring(0,str.indexOf(":"));Stringaddress=str.substring(str.indexOf("/")+2,str.lastIndexOf("/"));System.out.println("协议是:"+protocol);System.out.println("地址是:"+address);}publicstaticvoidmain(String[]args){ParseStringps=newParseString();ps.parse();}}
解决方案九:
引用6楼zhaodalong的回复:

骑车、游泳。每个人都能看得懂,但并不是每个人都会!写程序也是这个道理!

这位仁兄说的挺对,你是不是也是看得懂学不会的啊,放上来的程序有地儿时错的,练我呢。是吗?

时间: 2024-10-06 14:40:43

怎么才能判断何时有返回值何时void?的相关文章

progress.report-c# 如何等待一个返回值为void的进度报告事件结束?

问题描述 c# 如何等待一个返回值为void的进度报告事件结束? 需求:progress.Report执行进度报告完成后,再执行其余的代码:问题:progress.Report的返回值是void,没法用await,怎么等待其结束? 解决方案 答案出来了: var task = Task<int>.Run(() => { int i = UpdateResult(dictionaryStockReal[stockCode]); return i; }); //报告一次进度后退出if(tas

C/C++误区三:强制转换 malloc() 的返回值

首先要说的是,使用 malloc 函数,请包含 stdlib.h(C++ 中是 cstdlib) ,而不是 malloc.h .因为 malloc.h 从来没有在 C 或者 C++ 标准中出现过! 因此并非所有编译器都有 malloc.h 这个头文件.但是所有的 C 编译器都应该 有 stdlib.h 这个头文件. 在 C++ 中,强制转换 malloc() 的返回值 是必须的,否则不能通过编译.但是在 C 中,这种强制转换却是多余的,并且 不利于代码维护. 起初,C 没有 void 指针,那时

【整理】为什么在C/C++中总是对malloc的返回值进行强制转换

============= 文章1 ================         首先要说的是,使用 malloc 函数,请包含 stdlib.h(C++ 中可以是 cstdlib),而不是 malloc.h .因为 malloc.h 从来没有在 C 或者 C++ 标准中出现过!因此并非所有编译器都有 malloc.h 这个头文件.但是所有的 C 编译器都应该有 stdlib.h 这个头文件.   在 C++ 中,强制转换 malloc() 的返回值是必须的,否则不能通过编译. 在 C 中,

message eceived-怎么样调用mina的messageReceived中得到的返回值

问题描述 怎么样调用mina的messageReceived中得到的返回值 public void messageReceived(IoSession session, Object packet) throws Exception { System.out.println("Received == " + packet.toString()): } mina中有个messageReceived方法,我已经从客户端把消息发送给服务器,也成功收到了服务器返回的数据,但是我现在想在另一个类

java返回值 重载-java当中一个匿名类或者类必须返回一个对象吗

问题描述 java当中一个匿名类或者类必须返回一个对象吗 java当中一个类必须返回一个对象吗 就象方法一样一定有个返回值,void修饰的除外 解决方案 只有方法才有返回值可言,类又不是方法,没有返回值可言.A a=new A();这叫创建一个对象并引用,而不是返回一个对象

jsoup解析html时,若没有查找到相关标签,Element元素的返回值如何判断为空?

问题描述 jsoup解析html时,若没有查找到相关标签,Element元素的返回值如何判断为空? 1900119429(美)Cay S. Horstmann,Gary Cornell著TP312JA978-7-111-25611-311,852页CNY118.00机械工业出版社2008JAVA核心技术.卷Ⅱ,高级特性.Volume II,Advanced featuresJAVA语言1 10000023610-13-081933-6737p.RMB13.00Sun Microsystems P

java-为什么直接访问域名访问不到, 要加参数才能有返回值

问题描述 为什么直接访问域名访问不到, 要加参数才能有返回值 后面加上action=ep_adduser&token=piaa168&act=13300008888&actname=张三&actpwd=123456&needsms=N 才能访问 解决方案 加了参数,后台才知道去执行那个action,然后根据后面的参数,返回给你需要的值,如果你什么都不加那个页面不识别你的意图,就出错了 解决方案二: 你的ashx编写有问题,缺少参数时,如调用了ToString方法什么

sqlserver-用 Isnumeric判断从SQLServer中取出的数据类型为numeric的数据返回值是False是为什么

问题描述 用 Isnumeric判断从SQLServer中取出的数据类型为numeric的数据返回值是False是为什么 之前在sybase环境时使用的是自动采番功能,现在移到SQLServer环境就想用取得最大值然后加一的方法实现插入. 因为本来就有写好的取得最大值的函数所以就拿来直接用了,在+1之前要用Isnumeric()判断是否为数字. Isnumeric(从数据库取出的值) 用response.write显示从数据库取出来的值是3565613, 用response.write Isnu

vbscript-用 Isnumeric判断从SQL中取出的(类型为numeric)数据返回值是False是为什么?

问题描述 用 Isnumeric判断从SQL中取出的(类型为numeric)数据返回值是False是为什么? 之前在sybase环境时使用的是自动采番功能,现在移到SQLServer环境就想用取得最大值然后加一的方法实现插入. 因为本来就有写好的取得最大值的函数所以就拿来直接用了,在+1之前要用Isnumeric()判断是否为数字. 判断时的语句是 IF Isnumeric(objrs("CUR_NO").value) THEN CreateMaxNo = objrs("CU