วันจันทร์ที่ 9 มิถุนายน พ.ศ. 2557

ตัวอย่างโค้ดโปรแกรมหาค่าที่มากที่สุด ไม่จำกัดจำนวนรอบ ใส่ได้หลาย ๆ ค่า

ตัวอย่างโค้ดโปรแกรมหาค่าที่มากที่สุด ไม่จำกัดจำนวนรอบ ใส่ได้หลาย ๆ ค่า

โปรแกรมนี้เป็นตัวอย่างโค้ดโปรแกรมที่จะให้กรอกจำนวนมาหลาย ๆ จำนวนกี่จำนวนก็ได้ เป็นตัวเลข แล้วโปรแกรมจะหาจำนวนที่มากที่สุดที่กรอกเข้ามา จากโปรแกรมที่จะให้กรอกหลาย ๆ จำนวน กี่จำนวนก็ได้ ซึ่งเมื่อต้องการหยุด จะพิมพ์คำว่า exit

ตัวอย่างโค้ด

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class UseCode {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
List<Integer> listNumber = new ArrayList<>();
String temp = "";

while(true){
System.out.print("input Number ('exit' For Break) : ");
temp = in.nextLine();
if("exit".equals(temp)) break;
listNumber.add(Integer.valueOf(temp));
}

System.out.println("Value All : " + listNumber);
if(!listNumber.isEmpty()){
int max = listNumber.get(0);
for (Integer number : listNumber) {
if(number > max) max = number;
}
System.out.println("Max : " + max);
}
else{
System.out.println("No Data");
}
}
}

จากโค้ดข้างบน เราใช้ Scanner ในการอ่านค่าจากแป้นพิมพ์ จากนั้น เราจะใช้ nextLine() เพื่อนำค่าที่กรอกเข้ามาเป็น String แล้วนำไปตรวจสอบว่าเป็นคำว่า exit หรือไม่ ถ้าใช้ เราก็ break ออกจาก Loop

เราใช้ Loop while เพื่อวนไม่รู้จบจนกว่าจะพิมพ์คำว่า break จึงจะหยุดจาก Loop เมื่อกรอกเข้ามาเราจะนำค่าที่ได้ไปแปลงเป็น Integer แล้วเก็บไว้ใน ArrayList ที่เก็บชนิดข้อมูลที่เป็น Integer เอาไว้

เราจะเช็คค่าจาก ArrayList ว่ามีค่าหรือไม่ โดยใช้คำสั่ง isEmpty() ถ้ามีค่าเราก็ให้ค่าสูงสุดเป็นค่าแรก จากนั้นเราก็วนลูป ArrayList หาค่าสูงสุด โดยเช็คว่าถ้าค่าแต่ละรอบมีค่ามากกว่าค่าปัจจุบันให้นำค่าแต่ละรอบไปเก็บไว้ในตัวแปร ที่ชื่อว่า max จากนั้นเราก็จะได้ค่าที่สูงสุดออกมา แล้วก็ปริ้นออกมาทางหน้าจอ แต่เมื่อไม่มีข้อมูล เราก็ปริ้นว่า No Data

ข้อควรระวัง ยังไม่ได้ตรวจสอบความผิดพลาด ซึ่งอาจจะเกิด Exception ได้ อย่างเช่นพิมพ์ค่าที่ไม่ได้เป็นตัวเลขที่นอกเหนือจากคำว่า exit


yengo หรือ buzzcity

ไม่มีความคิดเห็น :

แสดงความคิดเห็น