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

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

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingภาษา JAVA ช่วยทีครับ
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: ภาษา JAVA ช่วยทีครับ  (อ่าน 1570 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
manisits
Newbie
*

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

กระทู้: 40



ดูรายละเอียด
« เมื่อ: 12 กันยายน 2011, 20:17:12 »

เราจะแยกตัวแปรเดียวออกมาเปนส่วนๆได้ยังไงครับ

เช่น 789456123 เป็นตัวแปรแบบ int

จะแยกออกมาเปนส่วนๆ
แล้วเอาเลขมาคุณ 9 8 7 6 5 4 3 2 1

(7*9)+(8*8)+(9*7)+(4*6)+(5*5)+(6*4)+(1*3)+(2*2)+(3*1)

เนี้ยครับ จะแยกเลข 789456123 ที่เป็น int ออกมายังไงเพื่อนำมานคูณแต่ละหลักตามต้องการ ใช้คำสั่งอะไรครับ
บันทึกการเข้า

รอครบ 100 โพสก่อน ค่อยใส่ links
UnLock UnlimiT
หัวหน้าแก๊งเสียว
*

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

กระทู้: 1,899



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 12 กันยายน 2011, 20:20:42 »

ผมไม่รู้ คำสั่งนะครับ เดาว่า

ทำให้เป็น สตริง  แล้ว ค่อยๆ ตัดทีละตัวเอาทีละตัว ทำเป็น int
เอาใส่อาร์เร  เอาไปทำอะไรก็สุดแล้วแต่ครับ
บันทึกการเข้า

งดรับซื้อ google ads ครับ Smiley
Love Family
หัวหน้าแก๊งเสียว
*

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

กระทู้: 1,511



ดูรายละเอียด
« ตอบ #2 เมื่อ: 12 กันยายน 2011, 20:20:56 »


แปลงเป็น string แล้วก็ตัดออกมา แล้วก็แปลงคืนกลับเป็นตัวเลข  Cheesy
บันทึกการเข้า

สุขภาพแข็งแรง โชคดีตลอดไป
manisits
Newbie
*

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

กระทู้: 40



ดูรายละเอียด
« ตอบ #3 เมื่อ: 12 กันยายน 2011, 20:22:24 »


แปลงเป็น string แล้วก็ตัดออกมา แล้วก็แปลงคืนกลับเป็นตัวเลข  Cheesy
ผมก็ใช้วิธีนี้ครับ
ปัญหาคือเลขที่ได้จะเป็น Unicode  ทำคำสั่งแปลงโปรแกรมก็ยาว กว่า 350 บรรทัด พอดีอาจจะมีวิธีอื่น ทำให้สั้นลง เลยมาถามดูครับ  wanwan017 ยังไงก็ขอบคุณครับ
« แก้ไขครั้งสุดท้าย: 12 กันยายน 2011, 20:25:27 โดย manisits » บันทึกการเข้า

รอครบ 100 โพสก่อน ค่อยใส่ links
kongpair
Verified Seller
หัวหน้าแก๊งเสียว
*

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

กระทู้: 2,721



ดูรายละเอียด
« ตอบ #4 เมื่อ: 12 กันยายน 2011, 20:28:21 »

แปลง Int เป็น String  นี่หรือครับ 350 บรรทัด

หรือว่า Code ทั้งหมด
บันทึกการเข้า
manisits
Newbie
*

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

กระทู้: 40



ดูรายละเอียด
« ตอบ #5 เมื่อ: 12 กันยายน 2011, 20:31:16 »

แปลง Int เป็น String  นี่หรือครับ 350 บรรทัด

หรือว่า Code ทั้งหมด

String เป็น int ครับ

ถ้ากรอก 1 เป็น String

แปลกเป็น int จะได้ น่าจะ 39 นี้แหละครับ ไม่ใช่ 1

เลยแปลงจาก 39 เป็น 1 เหมือนเดิมโดยใช้การเปรียบเทียบ โปรแกรมเลยยาสหลายบรรทัดเกินไป Lips Sealed
บันทึกการเข้า

รอครบ 100 โพสก่อน ค่อยใส่ links
Love Family
หัวหน้าแก๊งเสียว
*

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

กระทู้: 1,511



ดูรายละเอียด
« ตอบ #6 เมื่อ: 12 กันยายน 2011, 20:38:02 »

แปลง Int เป็น String  นี่หรือครับ 350 บรรทัด

หรือว่า Code ทั้งหมด

String เป็น int ครับ

ถ้ากรอก 1 เป็น String

แปลกเป็น int จะได้ น่าจะ 39 นี้แหละครับ ไม่ใช่ 1

เลยแปลงจาก 39 เป็น 1 เหมือนเดิมโดยใช้การเปรียบเทียบ โปรแกรมเลยยาสหลายบรรทัดเกินไป Lips Sealed

งงกับที่บอกน่ะครับ
ทำแบบนี้
String str="1"; 
int a= Integer.parseInt(str);

ค่าที่ได้มันก็เท่าเดิมนะครับ
บันทึกการเข้า

สุขภาพแข็งแรง โชคดีตลอดไป
kongpair
Verified Seller
หัวหน้าแก๊งเสียว
*

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

กระทู้: 2,721



ดูรายละเอียด
« ตอบ #7 เมื่อ: 12 กันยายน 2011, 20:55:13 »

แปลง Int เป็น String  นี่หรือครับ 350 บรรทัด

หรือว่า Code ทั้งหมด

String เป็น int ครับ

ถ้ากรอก 1 เป็น String

แปลกเป็น int จะได้ น่าจะ 39 นี้แหละครับ ไม่ใช่ 1

เลยแปลงจาก 39 เป็น 1 เหมือนเดิมโดยใช้การเปรียบเทียบ โปรแกรมเลยยาสหลายบรรทัดเกินไป Lips Sealed


ผมว่ามันไม่ใช่แล้วครับ


ถ้าค่า ตัวเลข 39  จะแปลงเป็น String หรือ Int  มันจะได้ 39 นะครับ



ลองดูตัวอย่างนี้ครับ
1.เปลี่ยนจากตัวเลขเป็นข้อความ
โค๊ด:
a = a+''     // This converts a to string
b += ''      // This converts b to string
5.41 + ''    // Result: the string '5.41'
Math.PI + '' // Result: the string '3.141592653589793'

2.เปลี่ยนจากข้อความเป็นตัวเลข (จำนวนเต็ม)
โค๊ด:
parseInt('123.45')  // 123
parseInt('77')      // 77
parseInt('077',10)  // 77
parseInt('77',8)    // 63  (= 7 + 7*8)
parseInt('077')     // 63  (= 7 + 7*8)
parseInt('77',16)   // 119 (= 7 + 7*16)
parseInt('0x77')    // 119 (= 7 + 7*16)
parseInt('099')     // 0 (9 is not an octal digit)
parseInt('99',8)    // NaN (0 in very old browsers e.g. MSIE 3.0)
parseInt('0.1e6')   // 0
parseInt('ZZ',36)   // 1295 (= 35 + 35*36)

3.เปลี่ยนจากข้อความเป็นตัวเลข (ทศนิยม)
โค๊ด:
parseFloat('1.45kg')  // 1.45
parseFloat('77.3')    // 77.3
parseFloat('077.3')   // 77.3
parseFloat('0x77.3')  // 0
parseFloat('.3')      // 0.3
parseFloat('0.1e6')   // 100000
« แก้ไขครั้งสุดท้าย: 12 กันยายน 2011, 20:56:39 โดย kongpair » บันทึกการเข้า
Nomkhonwaan
คนรักเสียว
*

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

กระทู้: 198



ดูรายละเอียด
« ตอบ #8 เมื่อ: 12 กันยายน 2011, 21:03:29 »


String เป็น int ครับ

ถ้ากรอก 1 เป็น String

แปลกเป็น int จะได้ น่าจะ 39 นี้แหละครับ ไม่ใช่ 1

เลยแปลงจาก 39 เป็น 1 เหมือนเดิมโดยใช้การเปรียบเทียบ โปรแกรมเลยยาสหลายบรรทัดเกินไป Lips Sealed

 Tongue  ดูเหมือนจะต้องการแปลงจาก string to ASCII หรือปล่าวครับ
บันทึกการเข้า
manisits
Newbie
*

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

กระทู้: 40



ดูรายละเอียด
« ตอบ #9 เมื่อ: 12 กันยายน 2011, 21:04:33 »

 Lips Sealed ผมใช้คำสั่ง charAt(); ในการแยกตัวเลขออกมาเปนส่วนๆอ่ะครับ มันว่าเก็บค่าเป็น Unicode
บันทึกการเข้า

รอครบ 100 โพสก่อน ค่อยใส่ links
manisits
Newbie
*

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

กระทู้: 40



ดูรายละเอียด
« ตอบ #10 เมื่อ: 12 กันยายน 2011, 21:06:12 »


String เป็น int ครับ

ถ้ากรอก 1 เป็น String

แปลกเป็น int จะได้ น่าจะ 39 นี้แหละครับ ไม่ใช่ 1

เลยแปลงจาก 39 เป็น 1 เหมือนเดิมโดยใช้การเปรียบเทียบ โปรแกรมเลยยาสหลายบรรทัดเกินไป Lips Sealed

 Tongue  ดูเหมือนจะต้องการแปลงจาก string to ASCII หรือปล่าวครับ
wanwan011 น่าจะใช่นะครับ ผมมือใหม่ เรียนไม่รุ้เรื่อง ซื้อหนังสือมาอ่าน ยังอธิบายตามที่ผมคิดไม่ได้อ่ะครับ Cry
บันทึกการเข้า

รอครบ 100 โพสก่อน ค่อยใส่ links
Nomkhonwaan
คนรักเสียว
*

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

กระทู้: 198



ดูรายละเอียด
« ตอบ #11 เมื่อ: 12 กันยายน 2011, 21:26:44 »

ลองแบบนี้ดูครับ

โค๊ด:
for ( i = 0; i < ตัวแปรสตริง.length(); i++ ) {
    char c = ตัวแปรสตริง.charAt(i);
    System.out.println((int) c);
}

 Tongue
บันทึกการเข้า
somsak_tk
คนรักเสียว
*

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

กระทู้: 103



ดูรายละเอียด
« ตอบ #12 เมื่อ: 12 กันยายน 2011, 22:01:57 »



789456123 ตัวแปรแบบ int ก็ต้อง

int sum=0;
int count = 0;
int num = 789456123;
String target = String.valueOf(num);       //ไม่แน่ใจ syntax ถูกรึไม่ ไม่ได้เปิดeclipse อ่ะครับ concept คือแปลงnum ให้เป็น int
for (int i=9; i <= 1; i==) {
    sum = sum + (target.charAt(count) * i);
    count++;
}
system.out.println(sum);

ลองดูนะครับ ยังไม่ได้ ลองรัน ติดตรงไหน pm ถามได้เน้อ
« แก้ไขครั้งสุดท้าย: 12 กันยายน 2011, 22:21:37 โดย somsak_tk » บันทึกการเข้า

$100 ต่อเดือน Completed แบบง่ายสุดๆด้วย Script ที่ซื้อมาแล้วจัดแต่งมั่วๆซั่วๆ
เป้าหมายต่อไป $500 ต่อเดือน
bonshington
ก๊วนเสียว
*

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

กระทู้: 376



ดูรายละเอียด
« ตอบ #13 เมื่อ: 12 กันยายน 2011, 22:10:32 »

int num = 789456123;
int temp = num;

while(temp > 0){

  int lastDigit = temp %10;
  temp /= 10;

  // lastDigit จะเอาไปทำไรก็ตรงนี้แหละ
}
มันจะได้
7*10^7 + 8*10^6 + 9*10^5....
เป็นเลขฐานสิบ
บันทึกการเข้า
หน้า: [1]   ขึ้นบน
พิมพ์