หัวข้อ: จะแก้โค้ด java ตรงนี้ได้อย่างไรครับ
เริ่มหัวข้อโดย: marketting ที่ 11 กันยายน 2011, 00:47:03
พอดีต้องการให้แสดงค่าที่มีค่ามากกว่า 1400 และเป็นเลขคู่ที่จะแสดงออกมา ให้แสดงเป็นข้อความ Never แต่ ถ้ามีค่ามากกว่า หรือเท่ากับ 4500 และเป็นเลขคี่ ให้แสดงเป็ฯข้อความ Good พอดีผมไม่ค่อยถนัดเท่าไร พี่ๆ ท่านใด แก้ไขได้ชี้ทางให้ทีครับผม import javax.swing.*; class C55{ public static void main (String args[]){ String strinput,msg; int num;
msg ="กรุณาป้อนตัวเลข"; strinput = JOptionPane.showInputDialog(msg); num = Integer.parseInt(strinput);
Process1 pro = new Process1(); pro.setNum(num); if (pro.Check()){ msg = "The Number is even and more then Never\nเลขของคุณคือ ::" + num; JOptionPane.showMessageDialog(null,msg); }else{ msg = "The Number is odd and more then Good\nเลขของคุณคือ ::" + num; JOptionPane.showMessageDialog(null,msg); } System.exit(0); } }
class Process1{ private int number,ans; private boolean even;
public void setNum(int value){ number=value; }
public boolean Check(){ if ((number>=1400) && (number%2!=0)) even = true; else even = false; return even; } } +1 ขอบคุณมากๆ ครับ :wanwan017: :wanwan017:
หัวข้อ: Re: จะแก้โค้ด java ตรงนี้ได้อย่างไรครับ
เริ่มหัวข้อโดย: Putter™ ที่ 11 กันยายน 2011, 01:48:30
if ((number>=1400) && (number%2!=0)) จากที่บอกว่า "ต้องการให้แสดงค่าที่มีค่ามากกว่า 1400 และเป็นเลขคู่" เงื่อนไขต้องเป็นแบบนี้ครับ if ((number>=1400) && (number%2 == 0)) และถ้าเพิ่ม เงื่อนไขไปว่า ต้อง น้อยกว่า 4500 ลองเพิ่ม if ((number>=1400) && (number%2 == 0) && (number < 4500)) นี่ครับ import javax.swing.*; class C55{ public static void main (String args[]){ String strinput,msg; int num;
msg ="กรุณาป้อนตัวเลข"; strinput = JOptionPane.showInputDialog(msg); num = Integer.parseInt(strinput);
Process1 pro = new Process1(); pro.setNum(num); if (pro.Check()){ msg = "The Number is even and more then Never\nเลขของคุณคือ ::" + num; JOptionPane.showMessageDialog(null,msg); }else{ msg = "The Number is odd and more then Good\nเลขของคุณคือ ::" + num; JOptionPane.showMessageDialog(null,msg); } System.exit(0); } }
class Process1{ private int number,ans; private boolean even;
public void setNum(int value){ number=value; }
public boolean Check(){ if ((number>=1400) && (number%2 == 0) && (number < 4500)) even = true; else even = false; return even; } } แต่ผมว่า ให้ return เป็น boolean มาไม่ค่อยเวิคนะครับ ลองให้ return เป็น string น่าจะเอาไปใช้ได้มากกว่า (ผมหมายถึงเงื่อนไขนะครับ) เพราะ boolean ก็ return ออกมาได้แค่ 2 ค่าแค่นั้นเองครับ
หัวข้อ: Re: จะแก้โค้ด java ตรงนี้ได้อย่างไรครับ
เริ่มหัวข้อโดย: iahc ที่ 11 กันยายน 2011, 02:31:03
ถ้าใช้ boolean จะ return ได้ 2 case แต่จากเขื่อนไขน่าจะให้ return ออกมาได้ 3 กรณี คือ กรณีที่ไม่เข้าเขื่อนไขใดๆด้วย import javax.swing.*;
class C55 {
public static void main(String args[]) { String strinput, msg; int num; msg = "กรุณาป้อนตัวเลข"; strinput = JOptionPane.showInputDialog(msg); num = Integer.parseInt(strinput); Process1 pro = new Process1(); pro.setNum(num); if (pro.Check() == Process1.NEVER) { msg = "The Number is even and more then Never\nเลขของคุณคือ :: " + num; JOptionPane.showMessageDialog(null, msg); } else if (pro.Check() == Process1.GOOD) { msg = "The Number is odd and more then Good\nเลขของคุณคือ :: " + num; JOptionPane.showMessageDialog(null, msg); } System.exit(0); } }
class Process1 {
private int number; public static final int X = 0; public static final int NEVER = 1; public static final int GOOD = 2;
public void setNum(int value) { number = value; }
public int Check() { if ((number > 1400) && (number < 4500) && (number % 2 == 0)) { return Process1.NEVER; } else if ((number >= 4500) && (number % 2 != 0)) { return Process1.GOOD; } return Process1.X; } }
หัวข้อ: Re: จะแก้โค้ด java ตรงนี้ได้อย่างไรครับ
เริ่มหัวข้อโดย: chinjung01 ที่ 11 กันยายน 2011, 08:07:28
พอดีต้องการให้แสดงค่าที่มีค่ามากกว่า 1400 และเป็นเลขคู่ที่จะแสดงออกมา ให้แสดงเป็นข้อความ Never แต่ ถ้ามีค่ามากกว่า หรือเท่ากับ 4500 และเป็นเลขคี่ ให้แสดงเป็ฯข้อความ Good พอดีผมไม่ค่อยถนัดเท่าไร พี่ๆ ท่านใด แก้ไขได้ชี้ทางให้ทีครับผม import javax.swing.*; class C55{ public static void main (String args[]){ String strinput,msg; int num;
msg ="กรุณาป้อนตัวเลข"; strinput = JOptionPane.showInputDialog(msg); num = Integer.parseInt(strinput);
Process1 pro = new Process1(); pro.setNum(num); if (pro.Check()){ msg = "The Number is even and more then Never\nเลขของคุณคือ ::" + num; JOptionPane.showMessageDialog(null,msg); }else{ msg = "The Number is odd and more then Good\nเลขของคุณคือ ::" + num; JOptionPane.showMessageDialog(null,msg); } System.exit(0); } }
class Process1{ private int number,ans; private boolean even;
public void setNum(int value){ number=value; }
public boolean Check(){ if ((number>=1400) && (number%2!=0)) even = true; else even = false; return even; } } +1 ขอบคุณมากๆ ครับ :wanwan017: :wanwan017: ผมปรับปรุงให้นะครับ ส่วนเรื่องคำพูดของ output ลองไปปรับแก้เองนะครับ import javax.swing.JOptionPane; class C55{ public static void main (String args[]){ String strinput,msg; int num; msg ="กรุณาป้อนตัวเลข"; strinput = JOptionPane.showInputDialog(msg); num = Integer.parseInt(strinput); Process1 pro = new Process1(num); JOptionPane.showMessageDialog(null,pro.check()); } }
class Process1{ //variable private int number; //method public String check(){ String even = ""; if ((number>=1400) && (number<4500)&&(number%2==0)){ even = "Never"; } else if((number>=4500)&&(number%2!=0)){ even = "Good";} return even; } //constructor public Process1(int a){number = a;} public Process1(){number = 0;} } ปล.ผมกำลังเรียนอยู่พอดี
หัวข้อ: Re: จะแก้โค้ด java ตรงนี้ได้อย่างไรครับ
เริ่มหัวข้อโดย: marketting ที่ 11 กันยายน 2011, 08:51:43
ขอบคุณมากครับ +1 งาม ๆ ทุกท่านแล้วครับ
:wanwan017: :wanwan017:
|