โจทย์ นำมาจาก http://pantip.com/topic/32666469
ให้นักเรียนออกแบบ Class โดยให้มีทั้ง Data Member และ Method Member
แล้วทำการเขียนโปรแกรมแสดงค่า x ยกกำลัง n โดยที่ x มีค่าเป็นตำนวนคี่ระหว่าง 1-12
n มีค่าระหว่าง 1-6 และให้แสดงผลโดยจัดชิดขวาของแต่ละคอลัมน์
รูปแบบ Output
1 1 1 1 1 1
3 9 27 81 243 729
5 25 125 625 3125 15625
.. ... ... ... .... .....
11 121 1331 .... .... .....
แนวคิด
1. การขึ้นแถวใหม่ หรือไม่ อาจใช้คำสั่งเงื่อนไขมาใช้(if) แล้วใช้ตัวแปรที่ตั้งเพื่อเช็คค่า 1 ตัว
เพื่อเช็คว่าจะพิมพ์แบบไหน (print/println) อาจกำหนดสถานะเป็น 0/1 ก็ได้
2.หลักการให้จัดชิดขวาของแต่ละคอลัมน์ อาจใช้วิธีการแบ่งให้แต่ละคอลัมน์กล้างเท่าๆกัน
ข้อมูลของคอลัมน์ใดมีน้อยก็ชดเลยโดยช่องว่างเข้าไป
/**
* @Auther: Mr.Suppakit Thongdee
* @Website: www.sourcecode.in.th
* Oct 06, 2014
*/
public class MathClass {
//Data Member
int [] _n;
int [] _x;
//Method Member
public void Process(){
double _result;
for(int i=0; i< _x.length; i++){
for(int j=0; j< _n.length; j++){
_result = Math.pow(_x[i], _n[j]);
System.out.print(" " + String.format("%8s", (int)_result));
}
System.out.println("");
}
}
public static void main(String[] args) {
int [] Xvalue = {1,3,5,7,9,11};
int [] Nvalue = {1,2,3,4,5,6};
MathClass myClass = new MathClass();
myClass._x = Xvalue;
myClass._n = Nvalue;
myClass.Process();
}
}