พึ่งเคยใช้งานครั้งแรกโปรดอ่านที่นี่! howtouse!
x
  • Register
หางานด้าน IT อยู่เหรอ?

Help!!! anybody can help me with this question?

0 votes

 

The following program is a simple calculation:
{public class Exer4
     public static void main (String [] args) {
         char a = '3 ';
         char b = '4 ';
         char c = '2 ';
         int result;
         result = a * b / c;
         System.out.println ("Result of" + a + "*" + b + "/" + c + "=" + result);
     }
}
Run it waiting for us to come out: 6 (as it is 3 * 4/2) but it is not.
Why do not we give this result?
reply
What should we add the code to give the correct result? (you can not change the definition and initialization of variables, ie, these lines can not be touched:
       char a = '3 ';
       char b = '4 ';
       char c = '2 ';
Copy the code below when the program expanded to make that operation (3 * 4/2)
ถามเมื่อ Mar 11, 2013 in Java โดย konmaitem (117 คะแนน)
   

1 Answer

0 votes
จาก Code a,b,c เป็น char ดังนั้นเวลาคำนวนเป็น int จึงไปมอง ascii ครับ โดยจะได้ดังนี้

a = 51, b=52,c=50 ดังนั้นการคำนวนจึงเป็น 51*52/50 = 53.04 แต่ว่าผมเดาว่า มันคำนวนแบบ int เพราะเป็นชนิดจำนวนเต็มหมดดังนั้น ไม่น่ามีเศษในการคำนวนเลยเหลือ 53
ตอบเมื่อ Mar 12, 2013 โดย mix5003 (715 คะแนน)
คะ แต่ ทราบไหมคะว่า จะทำยังไง ที่จะ convert จาก char มาเป็น number
โดยที่จะได้ผลลัพ เป็น 6
แระโดยไม่ต้องเปลียนแปลงอะไรในนี้เลย   
    char a = '3 ';
    char b = '4 ';
    char c = '2 ';
Java ผมไม่รู้ว่าทำแบบนี้ได้ไหมนะ
(a-'0')*(b-'0')/(c-'0')
ไม่ก็ Integer.parseInt(a) * Integer.parseInt(b) / Integer.parseInt(c)
ถ้าบรรทัดบนไม่ได้ให้ใช้ a+""
แบบที่สองคะ ขอบคุณคะ

Related questions

0 votes
0 คำตอบ
0 votes
0 คำตอบ
728 views ถามเมื่อ Apr 30, 2015 in Java โดย minkuki (102 คะแนน)
0 votes
0 คำตอบ
...