Results 1 to 7 of 7

Thread: ถามเรื่องการตัดคำใน JAVA หน่อยครับ

  1. #1
    Junior Member
    Join Date
    Jul 2008
    Posts
    27


    คือรบกวนทีนะครับ

    พอดีอยากทราบวิธีการตัดคำอะครับ

    เช่นๆ ผมกรอกตัวเลข 12345 ลงใน MessageDialog ภายในทีเดียว

    แต่จะแยกตัวเลขออกมาให้เป็นแบบ

    เอาเลข 1 ไว้ในตัวแปร a[1]

    เลข 2 ไว้ในตัวแปร a[2]

    .
    .
    .

    ไปเรื่อยๆจน ถึงตัวเลขที่ n ให้ไปเก็บไว้ที่ a[n]

    ประมาณนี้อะครับ

  2. #2
    Jedi Global Moderator Gen0TypE's Avatar
    Join Date
    Jan 2008
    Location
    Khonkaen
    Posts
    312


    ไอเดียน่าจะประมาณนี้ครับ

    1. หาความยาว string ( ศึกษา string.length ดูครับ)
    2. สร้าง array ที่มีขนาดเท่าความยาวของ string
    3. วนลูป substring มาทีละ 1 ตัวอักษร แล้วนำค่าที่ได้มาใส่ใน array (ศึกษา string.substring ดูครับ)

    ลองศึกษาดูนะครับ คิดว่าไม่น่ายาก จะให้เขียน code ให้เลยคงไม่ได้เพราะ
    1. ผมไม่มี java compiler เขียนไปเดี๋ยวผิด แล้วอันที่จริงผมก็เขียนภาษานี้ไม่เป็น แหะๆ :P
    2. จะได้เขียนเองเป็นครับ ให้ไอเดียไปแล้ว

  3. #3
    Junior Member
    Join Date
    Jul 2008
    Posts
    27


    ลองทำดูแล้วครับ

    import javax.swing.JOptionPane;

    public class Summary {

    public static void main (String[]args){

    String input = JOptionPane.showInputDialog(null, "Enter Number");
    String x[]= new String [3];
    int i=0 ;

    while(i<=3)
    {
    x[i] = input.substring(i, i);
    i++;
    }

    String ans = x[0]+x[1]+x[2]+x[3];

    JOptionPane.showMessageDialog(null,ans);
    }

    }


    รับค่าได้ แต่ค่าดันไม่ออกมาซะงั้น ผิดบรรทัดไหน หายังไม่เจอซะที ==*

  4. #4
    Jedi Global Moderator Gen0TypE's Avatar
    Join Date
    Jan 2008
    Location
    Khonkaen
    Posts
    312


    บอกได้เลยว่า
    Code:
     x[i] = input.substring(i, i);
    ผิดนะครับ ให้ลองไปศึกษาฟังก์ชัน substring ดูใหม่ครับ ว่า parameter แต่ละตัวของมันคืออะไร
    แล้วก็ใส่ parameter ให้ถูกตามที่ต้องการนะครับ



    แล้วก็อีกอย่าง
    Code:
     String x[]= new String [3];
    ผมคิดว่าน่าจะใช้ได้แค่ x[0], x[1], x[2] นะครับ (ภาษา C เป็นอย่างนี้อ่ะครับ - -a)
    x[3] ไม่น่าจะใช้ได้ เพราะปกติการประกาศ array n ตัว จะใช้ array ได้ตั้งแต่ตัวที่ 0 ถึง n-1 ครับ

    ถ้าต้องการเขียนให้ยืดหยุ่นหน่อย ก็หาความยาวของ string input ก่อน แล้วค่อยสร้าง array เท่าจำนวนความยาวของ input ครับ

  5. #5
    Junior Member
    Join Date
    Jul 2008
    Posts
    27


    อิอิ ขอบคุณมากครับ

    เดี๋ยวผมขอลองแก้ใหม่แปปนึงครับ

    เดี๋ยวกลับมารายงานผล หุๆ

  6. #6
    Junior Member
    Join Date
    Jul 2008
    Posts
    27


    ผลลัพธ์ออกมาแล้วครับ

    การทำงานคือ ให้ใส่เลขอะไรไปก็ได้ตั้งแต่ 0-9999

    แล้วนำตัวเลขแต่ละตัวมาบวกกัน

    import javax.swing.JOptionPane;

    public class Summary {

    public static void main (String[]args){

    String input = JOptionPane.showInputDialog(null,"Enter Number between 0-9999","Summary The Numbers",JOptionPane.QUESTION_MESSAGE);
    int x[]= {0,1,2,3,};
    int i=0 ;

    while(i<=3)
    {
    x[i] = Integer.parseInt(input.substring(i, i+1));
    i++;
    }

    int ans = x[0]+x[1]+x[2]+x[3];

    JOptionPane.showMessageDialog(null,"This is summary :: " + ans);
    }

    }[/b]
    แต่ยังมีบัคคือถ้าใส่เลขเพียง 1 หลัก 2 หลัก หรือ 3 หลัก มันจะติดบัค ==*

  7. #7
    Junior Member
    Join Date
    Jul 2008
    Posts
    27


    งวดนี้ไม่มีบัคแล้วครับ

    ต้องขอบคุณท่าน Gen0TypE มากนะครับที่แนะนำผมตั้งแต่ Visual Basic ^^

    import javax.swing.JOptionPane;

    public class Summary {

    public static void main (String[]args){

    String input = JOptionPane.showInputDialog(null,"Enter Number between 0-9999","Summary The Numbers",JOptionPane.QUESTION_MESSAGE);
    int Input = Integer.parseInt(input);

    if (Input>9999)
    {
    JOptionPane.showMessageDialog(null,"Please Enter Number between 0-9999");
    }


    else if (Input>=1000)
    {
    int x[]= {0,1,2,3};
    int i=0 ;

    while(i<=3)
    {
    x[i] = Integer.parseInt(input.substring(i, i+1));
    i++;
    }

    int ans = x[0]+x[1]+x[2]+x[3];

    JOptionPane.showMessageDialog(null,"This is summary :: " + ans);
    }

    else if(Input>=100)
    {
    int x[]= {0,1,2};
    int i=0 ;

    while(i<=2)
    {
    x[i] = Integer.parseInt(input.substring(i, i+1));
    i++;
    }

    int ans = x[0]+x[1]+x[2];

    JOptionPane.showMessageDialog(null,"This is summary :: " + ans);
    }

    else if(Input>=10)
    {
    int x[]= {0,1};
    int i=0 ;

    while(i<=1)
    {
    x[i] = Integer.parseInt(input.substring(i, i+1));
    i++;
    }

    int ans = x[0]+x[1];

    JOptionPane.showMessageDialog(null,"This is summary :: " + ans);
    }

    else if(Input>=0)
    {
    int x[]= {0};
    int i=0 ;

    while(i<=0)
    {
    x[i] = Integer.parseInt(input.substring(i, i+1));
    i++;
    }

    int ans = x[0];

    JOptionPane.showMessageDialog(null,"This is summary :: " + ans);
    }

    else JOptionPane.showMessageDialog(null,"Please Enter Number between 0-9999");

    }
    }[/b]

Similar Threads

  1. Replies: 6
    Last Post: 16-05-2009, 01:55 PM
  2. Replies: 1
    Last Post: 11-07-2008, 10:47 PM
  3. Java, Java, Java, Object-Oriented Problem Solving
    By Black_Phoenix in forum E-Book, Video หรือบทความทั่วไปด้าน Computer
    Replies: 0
    Last Post: 25-02-2008, 11:55 PM
  4. Replies: 0
    Last Post: 19-06-2007, 04:38 PM
  5. Java, Java Applet, Java Script ต่างกันยังไง?
    By cms-design in forum Non computer knowledge
    Replies: 0
    Last Post: 01-01-1970, 07:00 AM

Members who have read this thread : 0

Actions : (View-Readers)

There are no names to display.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •