伊莉討論區
標題: 剛學JAVA 建構方法 問題 [打印本頁]
作者: ˇ低格調ˇ 時間: 2015-10-10 09:00 AM 標題: 剛學JAVA 建構方法 問題
這是我學校的練習題 我卡關了 求解惑
題目是這樣
判斷兩矩形邊長與體積是否相同,
公式: L x W x H,
請建立Block建構子 : 初始化 矩形的長寬高
請建立2個方法 : sameBlock 和 sameVolume 回傳型態為 Boolean
sameBlock : 判斷兩個矩形的長寬高(矩形維度)是否相同,若相同回傳True反之回傳False
sameVolume : 判斷兩個矩形的面積是否相同,若相同回傳True反之回傳False
以下是我自己努力打出來的
class Block {
int a, b, c;
int volume;
void Block(Block){
L = this.a;
W = this.b;
H = this.c;
volume = this.a * this.b;
}
boolean smaeblock(){
if(a=this.a && b=this.b && c=this.c){
return true;
}
else{
return false;
}
}
boolean sameVolume(){
if(a*b==this.a*this.b){
return true;
}
else{
return false;
}
}
}
class main {
public static void main(String args[]) {
Block ob1 = new Block(10, 2, 5);
Block ob2 = new Block(10, 2, 5);
Block ob3 = new Block(4, 5, 5);
System.out.println("ob1 same dimensions as ob2: " + ob1.sameBlock(ob2) );
System.out.println("ob1 same dimensions as ob3: " + ob1.sameBlock(ob3));
System.out.println("ob1 same volume as ob3: " + ob1.sameVolume(ob3));
}
}
編譯之後他告訴我
void Block(Block){
這行錯誤
我完全不知道錯在哪裡
求解惑 謝謝
作者: canada6868 時間: 2015-10-10 07:06 PM
照你main()寫的...
void Block(Block){
L = this.a;
W = this.b;
H = this.c;
volume = this.a * this.b;
}
應該是...
void Block(int a, int b, int c){
this.a = a;
this.b = b;
this.c = c;
volume = this.a * this.b;
}
作者: snowflying 時間: 2015-10-11 12:17 AM
constructor 不該加 void,倒是可加 public
照題目來看,應該是傳入長、寬、高
而不是 Block,況且 Block 還沒給變數名稱
boolean smaeblock
拼錯了,same 才對
作者: ˇ低格調ˇ 時間: 2015-10-11 08:48 AM
void Block(int a,int b,int c){
a = this.a;
b = this.b;
c = this.c;
volume = this.a * this.b;
}
boolean sameblock(){
if(a==this.a && b==this.b && c==this.c){
return true;
}
else{
return false;
}
}
boolean sameVolume(){
if(a*b==this.a*this.b){
return true;
}
else{
return false;
}
}
}
我依照各位的回答改了一番
可是編譯之後
還是錯誤
作者: ˇ低格調ˇ 時間: 2015-10-11 03:43 PM
public Block(int a,int b,int c){
a = this.a;
b = this.b;
c = this.c;
volume = this.a * this.b;
}
boolean sameblock(){
if(a==this.a && b==this.b && c==this.c){
return true;
}
else{
return false;
}
}
boolean sameVolume(){
if(a*b==this.a*this.b){
return true;
}
else{
return false;
}
}
}
改成這樣之後
變成
System.out.println("ob1 same dimensions as ob2: " + ob1.sameBlock(ob2) );
System.out.println("ob1 same dimensions as ob3: " + ob1.sameBlock(ob3));
System.out.println("ob1 same volume as ob3: " + ob1.sameVolume(ob3));
這三行cannot find symbol
作者: s1793159753 時間: 2016-1-11 05:28 PM
snowflying 發表於 2015-10-11 12:17 AM
constructor 不該加 void,倒是可加 public
照題目來看,應該是傳入長、寬、高
而不是 Block,況且 Block ...
大大!
你真的專業專業超專業!!
我0基礎但是真的想學
我又笨!
請問大大第一本書
是哪一本呢
我想自學卻又不知道如何起頭!
作者: snowflying 時間: 2016-1-11 07:53 PM
s1793159753 發表於 2016-1-11 05:28 PM
大大!
你真的專業專業超專業!!
我0基礎但是真的想學
不專業呀
我也沒有聰明到哪裡去
其實大部分的書要拿來起頭學程式設計都可以
我主要是看電子檔
Java How to Program 9th Edition
再搭配 google 搜尋一些資料
官方也有教學
如果怕英文看不懂,看是要順便練一下英文
或者是看中文的書
作者: s1793159753 時間: 2016-1-12 02:23 PM
snowflying 發表於 2016-1-11 07:53 PM
不專業呀
我也沒有聰明到哪裡去
非常感謝大大的回覆
也提供給我資訊
非常感謝!!
作者: theloserbm 時間: 2016-1-14 10:54 AM
問題:
1. 體積不是a*b*c嗎?
2. 一個6*2*1的矩形和一個2*1*6的矩形是相等的嗎?
歡迎光臨 伊莉討論區 (http://a401.file-static.com/) |
Powered by Discuz! |