Download - คณิตศาสตร์ และการจัดรูปแบบ
LOGO
คณตศาสตร และการจดรปแบบ
Nerissa Onkhum24/04/23 1
24/04/23 2
Outlineคลาส Mathการรบขอมลจากผใชการจดรปแบบ
LOGO
24/04/23 3
คลาส Math
24/04/23 4
การคำานวณงาย
+ - * / %
ซบซอน คลาส Math
24/04/23 5
เมธอดในคลาส Math sqrt() ใชในการหาคารากทสอง
Math.sqrt(9 ) จะมคาเทากบ 3pow() ใชในการหาคายกกำาลง
Math.pow(2, 4 ) จะเทากบ 24 หรอ 16 นนเอง
abs() ใชในการหาคาสมบรณ Math.abs(-4 ) จะเทากบ 4
24/04/23 6
เมธอดในคลาส Math ceil() ใชในการหาคาเลขจำานวนเตมนอยทสดทมา
กกวาตวเลขทระบไว Math.ceil(3.27 ) จะมคาเทากบ 4 Math.ceil(-3.27 ) จะมคาเทากบ -3
floor() ใชในการหาคาเลขจำานวนเตมทมากทสดทนอยกวาตวเลขทระบไว Math.floor(3.27 ) จะมคาเทากบ 3 Math.floor(-3.27 ) จะมคาเทากบ -4
24/04/23 7
เมธอดในคลาส Math round() ใชในการปดเศษทศนยมโดยจะหา
เลขจำานวนเตมทใกลกบตวเลขทระบมากทสด Math.round(3.27 ) จะมคาเทากบ 3 Math.round(-3.27 ) จะมคาเทากบ -3
min() ใชหาคาตวเลขทนอยทสดระหวางเลขสองตวตามทระบไว Math.min(3, 5 ) จะไดคาเทากบ 3
max() ใชหาคาตวเลขทมากทสดระหวางเลขสองตวตามทระบไว Math.max(3, 5 ) จะไดคาเทากบ 5
24/04/23 8
เมธอดในคลาส Math toDegrees() แปลงมม radian เปนมม degree
Math.toDegrees(Math.PI) มคาเทากบ 180.0toRadians() แปลงมม degree เปนมม radian
Math.toRadians(180) มคาเทากบ 3.141592653589793
sin() Math.sin(Math.toRadians(90)) มคาเทากบ 1
24/04/23 9
ปรมาตรวตถทรงกลมปรมาตร = (4÷3) × × รศม3 public class BallVolume { public static void main(String[] args) { double radius = 10; double volume = 4.0 / 3.0 * Math.PI * Math.pow(radius, 3);
System.out.println(volume); }}
24/04/23 10
เลขสมเมธอด random()
return คาสมในชวง 0 เกอบถง 1 โดยไมรวมเลข 1
ใชเมธอด Math.random() ในครงแรกอาจไดคาเปน 0.33456876 ครงทสองอาจไดคาเปน 0.805566743 เปนตน
24/04/23 11
เลขสมเมธอด random()
ตวอยาง โปรแกรมสรางเลขสมทเปนจำานวนเตมทอยในชวง 0 ถง 99 เปนจำานวนสบตว
for (int i = 0; i < 10; i++) { double r = Math.random() * 100; int rand = (int) r;
System.out.println(rand);} แปลง double
ใหเปน int
สมตวเลข72
98
40
96
37
..
..
LOGO
24/04/23 12
การรบขอมลจากผใช
24/04/23 13
คลาส java.util.Scanne
rคลาส java.util.Scanner เรมโดยการสง System.in เพอนำาไปสราง
วตถ Scanner กอน จากนนจงเรยกเมธอดในวตถ Scanner เพอรอรบขอมลตางๆ
เมธอด nextInt(); รบจำานวนเตมทผใชพมพเขามา nextDouble(); รบทศนยมทผใชพมพเขามา next(); รบ String ทผใชพมพเขามา
24/04/23
14
ตวอยางpublic class InputData{
public static void main(String[] args){java.util.Scanner sc;sc = new java.util.Scanner(System.in);
System.out.print("Please enter an integer : ");int i = sc.nextInt();
System.out.print("Please enter a double : ");double d = sc.nextDouble();
System.out.print("Please enter a string : ");String s = sc.next();
System.out.println("Your Integer is " + i);System.out.println("Your Double is " + d);System.out.println("Your String is " + s);}
}
สง System.in เพอนำาไปสรางวตถ Scanner
รบจำานวนเตม ทผใชพมพเขามารบจำานวนทศนยม ทผใชพมพเขามารบขอความ ทผใชพมพเขามา
24/04/23 15
ผลการทำางาน
24/04/23 16
ถาไมอยากใชชอเตม import java.util.Scanner;
class MyClass { public static void main(String[] args) { Scanner sc = new Scanner(System.in); ... }}
LOGO
24/04/23 17
การพมพขอความดวยเมธอด println()
24/04/2318
การพมพขอความดวยเมธอด println()
รปแบบ
ตวแสดงผล.println(ขอมลทตองการแสดง);
24/04/2319
ตวอยางของเมธอด println()
public class Println{public static void main(String[ ] args){boolean b = true;int i = 2137865423;double d = 7.0/3.0;String s = “Hello”;System.out.println(b);System.out.println(i);System.out.println(d);System.out.println(s);}
}
true21378654
232.33333333333335
Hello
LOGO
24/04/23 20
การจดรปแบบ
24/04/23 21
การจดรปแบบดวยเมธอด printf()
รปแบบ
ตวแสดงผล.printf(“รปแบบ”, ตวแปร1 , ตวแปร2 , …);
รปแบบ จะเปนรปแบบทตองการแสดงผล ซงประกอบไปดวยขอความ
ปกตและรปแบบการแสดงผล จะนำาหนาดวยเครองหมาย % เสมอ
ตวแปร เปนตวแปรหรอวตถทสอดคลองกบรปแบบการแสดงผลทกำาหนด ไวใน Format
24/04/23
22
การจดรปแบบดวยเมธอด printf() ตวอยาง
public class Printf {public static void main (String[ ] args) {
int i = 3277; double d = 132324.25; System.out.printf("%d\n", i); System.out.printf("%f\n", d); System.out.printf("%16f\n", d); System.out.printf("%16.2f\n", d);
System.out.printf("%,16.2f\n", d);}
}
24/04/23 23
การจดรปแบบดวยเมธอด printf()
รปแบบ ตวแสดงผล.printf("รปแบบ", ตวแปร1 ,
ตวแปร2 , ...); \n คอ การขนบรรทดใหม %d แสดงเลขจำานวนเตม ถาตองการชดขวาเรา
ตองระบจำานวนชองลงไป เชน %20d คอ การสงใหพมพตวเลขชดขวาในพนท 20 ชอง
%x แสดงเลขจำานวนเตมฐาน 16 %f แสดงเลขทศนยม %,20.2f แสดงเลขมจลภาคและจดทศนยม
สองตำาแหนง ใหชดขวาความกวางรวม 20 ชอง
24/04/23 24
การจดรปแบบดวยคลาสในกลม Format
คลาส NumberFormat getCurrencyInstance() รปแบบคาเงน getIntegerInstance()รปแบบเลขจำานวน
เตม getNumberInstance() รปแบบเลข
ทศนยม getPercentInstance() รปแบบ
เปอรเซนต
24/04/23
25
การจดรปแบบดวยคลาสในกลม Format
import java.text.NumberFormat;public class NumberFormatting{
public static void main (String[] args){double d = 37625.72558;NumberFormat nf;
nf = NumberFormat.getCurrencyInstance();System.out.println(nf.format(d));
nf = NumberFormat.getIntegerInstance(); System.out.println(nf.format(d));
nf = NumberFormat.getNumberInstance();System.out.println(nf.format(d));
nf = NumberFormat.getPercentInstance(); System.out.println(nf.format(d)); }
}
ß37,625.7337,62637,6257.2637,62,573
24/04/23
26
การจดรปแบบดวยคลาสในกลม Format
รปแบบการแสดงผล วถตทไดจากเมธอด getCurrencyInstance() จะ
ไดขอความทขนตนดวยหนวยเงน มจลภาคและจดทศนยม วถตทไดจากเมธอด getIntegerInstance() จะได
ขอความทมจลภาค และเปนเลขจำานวนเตม วตถทไดจากเมธอด getNumberInstance() จะได
ขอความทมจลภาคและจดทศนยมสามตำาแหนง วตถทไดจากเมธอด getPercentInstance() จะได
ขอความทเปนตวเลขคณดวย 100 มจลภาคและ % ตอทาย
24/04/23
27
การจดรปแบบตวเลขตามตองการ
คลาส DecimalFormat จดรปแบบการแสดงผลของตวเลข
ตวอยางรปแบบการแสดงผลคา รปแบบ ผลการจดรปแบบ
072.5
000. 073
072.5
#.00 .73
37625.725
#,###.00 37,625.73
37625.725
(#,##0.00) (37,625.73)
37625.725
-#,##0.00 -37,625.73
24/04/23
28
การจดรปแบบตวเลขตามตองการ
import java.text.DecimalFormat;public class DecimalFormatting1{
public static void main (String[] args){double d = 37625.72558;DecimalFormat df;
df = new DecimalFormat("0.00");System.out.println(df.format(d));
df = new DecimalFormat("#,##0.00");System.out.println(df.format(d));
df = new DecimalFormat("-#,##0.00");System.out.println(df.format(d));
df = new DecimalFormat("(#,##0.00)");System.out.println(df.format(d)); }
}
37625.73376257.3
-37,6257.3
(3 7 ,6257.3
24/04/23
29
การจดรปแบบวนทตวอยางความละเอยดการแสดงผลวนท
คา รปแบบ ผลการจดรปแบบ
วนวาเลนไทน ป 2555
DateFormat.SHORT
14/2/2555
วนวาเลนไทน ป 2555
DateFormat.MEDIUM
14 ก.พ .2555
วนวาเลนไทน ป 2555
DateFormat.LONG
14 กมภาพนธ 2555
วนวาเลนไทน ป 2555
DateFormat.FULL
วนองคารท 14กมภาพนธ 2555
24/04/23
30
การจดรปแบบตวเลขตามตองการimport java.text.DateFormat;
import java.util.Date;public class DateFormatting{
public static void main (String[] args){Date d = new Date();DateFormat df;
df = DateFormat.getDateInstance(); System.out.println(df.format(d));
df = DateFormat.getDateInstance(DateFormat.SHORT); System.out.println(df.format(d));
df = DateFormat.getDateInstance(DateFormat.MEDIUM); System.out.println(df.format(d));
df = DateFormat.getDateInstance(DateFormat.LONG); System.out.println(df.format(d));
df = DateFormat.getDateInstance(DateFormat.FULL); System.out.println(df.format(d)); }
}
2 ก.ค. 2554
2/07/25542 ก.ค. 2554
2 กรกฎาคม 2554
วนองคารท 2 กรกฎาคม 2554
24/04/23 31
สรปคลาส Math มเมธอดสำาหรบการคำานวณทางดาน
คณตศาสตรชนสงเมธอด println() ใชสำาหรบแสดงผลลพธออกทาง
หนาจอเมธอด printf() ใชแสดงผลลพธเชนเดยวกบเมธอด
println() แตสามารถจดรปแบบการแสดงผลไดหลากหลาย
คลาส NumberFormat ชวยจดรปแบบการแสดงผลได
24/04/23 32
แบบทดสอบ กำาหนดตวเลขดงน 42,20,35,44,48,23 ใหเขยน
โปรแกรมหาตวเลขมากทสดในตวเลขหกตวน กำาหนดตวเลขดงน 4,2,3,5,1,0 ใหเขยนโปรแกรม
หาตวเลขนอยทสดในตวเลขหกตวน เขยนโปรแกรมทอยลกเตา โดยผลลพธจะเปนตวเลข
จำานวนเตมหนงตวทมคาอยระหวาง 1 ถง 6 เขยนโปรแกรมสมตวเลข ใหไดผลลพธเปนเลขคทม
คาในชวง -010
24/04/23 33
แบบทดสอบ จงเขยนโปรแกรม yearDate.java ทอาน
ขอมลจาก keyboard ทเปนอายของผใชในรปแบบของป ใหโปรแกรมเปลยนเปนจำานวนวน สงผลลพธออกทางหนาจอ (กำาหนดให 1 ปเทากบ 365 วน)
จงเขยนโปรแกรมคำานวณหาพนทสามเหลยม โดยใหรบคาความสง และฐาน จากผใชสตรพนทสามเหลยม = ½ × ความสง × ฐาน
LOGO
24/04/23 34