ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingจะแก้โค้ด java ตรงนี้ได้อย่างไรครับ
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: จะแก้โค้ด java ตรงนี้ได้อย่างไรครับ  (อ่าน 1015 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
marketting
Verified Seller
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 459
ออฟไลน์ ออฟไลน์

กระทู้: 6,209



ดูรายละเอียด
« เมื่อ: 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
« แก้ไขครั้งสุดท้าย: 11 กันยายน 2011, 00:51:52 โดย marketting » บันทึกการเข้า

รับเขียนบทความคุณภาพ Click ดูก่อนที่นี่ คิว 5-7 วันจองก่อนได้
SEO-Hosting 200 IP อยากมี Network ส่วนตัวดัน Keyword ที่นี่


- รับทำ Adwords T.082-1695526 Line : thaiception
- งาน 3D ออกแบบนำเสนอ เช่น โรงแรม รีสอร์ท ร้านอาหาร ที่ท่องเที่ยว ฯลฯ
Putter™
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 421
ออฟไลน์ ออฟไลน์

กระทู้: 2,104



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 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 ค่าแค่นั้นเองครับ
« แก้ไขครั้งสุดท้าย: 11 กันยายน 2011, 01:59:23 โดย Putter™ » บันทึกการเข้า

Ruk-Com Hosting (IAAS)
Ruk-Com Cloud (PAAS)
รีวิวโฮสติ่ง Ruk-Com  จากสมาชิก THAISEO

ไม่พอใจยินดีคืนเงินเต็มจำนวนทุกบริการ
iahc
Newbie
*

พลังน้ำใจ: 4
ออฟไลน์ ออฟไลน์

กระทู้: 52



ดูรายละเอียด
« ตอบ #2 เมื่อ: 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;
    }
}
บันทึกการเข้า

<seo>กำลังหัดทำเสียวครับ</seo>  ^_^
chinjung01
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 160
ออฟไลน์ ออฟไลน์

กระทู้: 1,076



ดูรายละเอียด
« ตอบ #3 เมื่อ: 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;}
       
}
ปล.ผมกำลังเรียนอยู่พอดี
บันทึกการเข้า

marketting
Verified Seller
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 459
ออฟไลน์ ออฟไลน์

กระทู้: 6,209



ดูรายละเอียด
« ตอบ #4 เมื่อ: 11 กันยายน 2011, 08:51:43 »

ขอบคุณมากครับ +1 งาม ๆ ทุกท่านแล้วครับ


 wanwan017 wanwan017
บันทึกการเข้า

รับเขียนบทความคุณภาพ Click ดูก่อนที่นี่ คิว 5-7 วันจองก่อนได้
SEO-Hosting 200 IP อยากมี Network ส่วนตัวดัน Keyword ที่นี่


- รับทำ Adwords T.082-1695526 Line : thaiception
- งาน 3D ออกแบบนำเสนอ เช่น โรงแรม รีสอร์ท ร้านอาหาร ที่ท่องเที่ยว ฯลฯ
หน้า: [1]   ขึ้นบน
พิมพ์