作者PsMonkey (痞子军团团长)
看板java
标题Re: [问题] 请问如何Override toString
时间Mon Apr 1 12:50:09 2013
很好,很好
某种角度来说,这根本在挖坑给我跳
是的是的,你完全没有违反版规
看看这精美的注解、瞧瞧这精美的问题描述
我想在你写完这个题目之前
同样已经写好注解的程式码可以一贴再贴
酸痛药膏一张还要个三五十块
电脑里头复制些上只要两秒钟
重点是,这叫「负责任」吗?
你身边如果没有老汤给你翻译翻译什麽叫「负责任」
那没关系,反正我也不差这次被人酸我在酸人
我就来给你翻译翻译,什麽叫 ____ 负责任
※ 引述《pugboy ()》之铭言:
: 小弟遇到问题...
: 就是应该输出
: 955002056 许文馨 88 92 88 98 91
: 但我的程式码却输出
: Grades@7ffe9999
: 小弟上网看了一下发现这个问题是要Override toString();
: 小弟也研读了一下这篇文章
: http://www.javabeat.net/2007/08/overriding-the-tostring-method-in-object-class/
你有去了解这个 link 里头的程式码在写什麽?
你有没有去实际 run 一下第一段 code 跟第二段 code 的差别在哪里?
其实光比较一下第一段 code 跟第二段 code
你就应该知道该写什麽、该怎麽写
如果你不知道,那简单地说就是
你没有去了解每一行 code、每一个字到底有什麽意义
: 也尝试Override一下toString...
: 但是我在main的{}里面写public string toString{ return null;};
........ [盖牌]
: 不然就是在main{}外面写public string toString{} 虽然编译成功但是确
: 没改善错误输出的问题...
: 小弟不才...所以想请问大大要如何Override toString..
上一篇的推文也给你足够的提示了
为甚麽还会问出这种问题? 或着说,为甚麽会这样问问题?
明明告诉你东边是哪个方向,但是你整个就是问为甚麽只能看到夕阳
那基本只剩下一种可能
就是你根本没搞懂 or 没打算搞懂别人到底在讲什麽
那麽你这样不断不断地问下去
(是啦是啦,没有违反版规好厉害)
到最後也只是在等待别人给你明确的程式码
这样跟伸手要答案的作业文有甚麽两样?
: 原始码如下:
一个负责任的问法,说穿了就是有没有先做好功课
所谓做好功课,也不是说你要先去考个 SCJP 啥的鬼
而是你有没有先分析清楚问题到底在哪里
而(至少在写程式上)最最最简单又基本的原则就是
Divide and Conquer
你贴了这麽一大串的程式码
先别说有没有人会去看了
(常常说我在酸人的高手应该都会去仔细研读吧 [握拳])
直觉就是给人
棍? 这一大堆程式码都有问题吗?
如果真的这一大堆程式码都有问题
我想你知道我知道独眼龙、甚至中二以上的人都知道
Lv 10 之前配点错误还可以弥补
Lv 60 之後... 你到底要眷恋什麽? 当然是砍掉重练阿?
反过来说,其实你根本就知道其他的程式码
(读档案、每行转换成一个物件)
都没有问题了,那为甚麽还要拿这些程式码出来?
展示你已经快写完了只剩临门一脚? 还是为了回避版规?
基本上在上一篇文章发生的时候
问题就很清楚了,为甚麽我想(用我的方式)印 Grades
但是印出来是乱码?
那麽我就会先写一个这样的程式来确认这个问题到底成不成立
因为我已经知道其他部份理论上没问题
//直接打在 bbs 上,不保证可以执行
public class WTF {
public static void main(String[] args) {
System.out.println(new Grades());
}
}
如果这货出来的结果跟我在实际程式码当中遇到的一样(类似)
那麽问题就变得很清楚明了
就是出在 Grades() 身上
(因为程式码实在太少了,一眼望穿,没别的可以怀疑了)
如果不是,那某种角度很悲剧
但是某种角度来看又很高兴
因为「不一样」,我就可以比较这之间的差异
电脑的好处就是 GIGO 不会骗人
如果你直接把文章简化到这种程度来问
那你一定会得到不一样的对待
後来我知道了要 override toString()
然後我用我自己的方法跟想法去 try 还是失败
那怎麽办呢?
还是 divide and conquer
toString() 看起来是 method 的名字,也就是名词
那 override 应该是动词
那丢 Google 或是找 Java 书看一下这到底是啥意思?
不然单纯从 toString() 下手也很好
然後在 API doc 迷宫当中就会找到
http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html#toString()
这内容看起来好眼熟阿
再度对应 override 的意思,问题应该就很明了了
再不然(这可能需要一些使用其他 class 的经验)
我会想一下之前的经验当中,有没有印东西如我预期地印出来的经验?
然後看看这些 class 是不是有 toString()? 查查他的 API?
多想三分钟、多 try... 三小时
你可以不用发这麽多垃圾发问文
好了,爱酸我在酸新手的乡民登场了
「棍! 人家都说是新手了,怎麽会知道这些东西?」
只要你年龄在 25 岁以下
相信我,你们绝对不可能比我还了解新手的痛苦
我学写程式的时候连 Dialup BBS 都没得用
没有网路、没有老师、没有同学、90% 的时间甚至没有电脑
只有一本松岗出的 QuickBasic
能够给我一个关键字让我在那本书里头试着找答案
我就会早晚多上三炷香感谢祖宗庇护
讲的玄 or 浪漫一点
「迷路也是一种精彩」
讲的实在一点,就是找寻答案的过程本身也是学习的一部分
知道怎麽问问题、问出了一个好的问题
远比答案更重要
所以,还是要重复重复再重复的强调一次
没有不能问的问题,只有不能问的问法
里头就有问「回圈印星星」的良好范例
最後,还要再补上一件事情
看板讨论区不是客服中心
你们要把教育、教授 or 有付钱的一切当成服务业
所以在你们在受教育的过程当中不能感觉到不舒服
那是你们家的事情
但是看板讨论区不是客服中心、回答问题的人不是服务业
甚至,包含版主在内的每一个人,都没有义务要回答任何技术问题
更不用管说你看了心情会高兴还是沮丧
有违反版规、站规,请去申诉
有违反国家法律,那去按铃申告
你愿意用客服人员的态度回答新手问题,good! 给你一个赞
那麻烦请你们多多出来照顾新手
不要老是沦落到我来回答问题
========
如果这一切都是愚人节节目该有多好
--
如果我遇到的是识货的人,我也会好好跟对方谈买卖!!
贪得无餍的笨蛋门外汉,你也懂点分寸行吗!!
《料理仙姬》2-p.100
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.25.15.134
1F:推 superlubu:Apple IIe Basic 表示: ... 04/01 16:17
2F:推 swpoker:想当初我可是学了JAVA写COBOL 04/01 16:37
3F:推 pugboy:感恩 04/01 17:02
4F:→ pugboy:Orz 04/01 17:03
5F:推 kaocoming:我原本以为版主很凶的 但是这一连串的问题下来我发现 04/01 18:50
6F:→ kaocoming:版主人也太好...... 对不起之前误解了<(_ _)> 04/01 18:52
7F:推 Expsun:...你把我贴在javaTW的连结贴过来重问一遍 04/01 20:47
8F:→ Expsun:我指的是pug...非版主orz 04/01 20:48
9F:推 mahoihei:就只有我一个人觉得这是愚人节玩笑吗... 04/01 22:09