01/10/2018, 11:01
Code làm tròn điểm
Hiện tại em đang viết thử 1 code trên java cho phép 1 người nhập 1 số điểm bất kì r tự động nó sẽ được làm tròn theo qui tắc làm tròn điểm thi của bộ, ý tưởng của em là em sẽ cho nhập số điểm đó dưới dạng chuỗi, sau đó split theo dấu chấm thành 2 phần: phần nguyên và phần thập phân để xử lý riêng như thế này: package xuxu;
import java.util.Scanner;
public class LamTron {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Mời bạn nhập điểm : ");
String s=sc.nextLine();
String [] ss = new String[2];
ss=s.split(".");
double n = Double.parseDouble(ss[1]);
double m = Double.parseDouble(ss[2]);
double p = n+(m*0.01);
if(p>=(n-1+0.88)&&p<=(n+0.12)) {
p=n;
}else if(p>=(n+0.13)&&p<=(n+0.24)) {
p=n+0.25;
}else if(p>=(n+0.26)&&p<=(n+0.37)) {
p=n+0.25;
}else if(p>=(n+0.38)&&p<=(n+0.49)) {
p=n+0.5;
}else if(p>=(n+0.51)&&p<=(n+0.62)) {
p=n+0.5;
}else if(p>=(n+0.63)&&p<=(n+0.74)) {
p=n+0.75;
}else if(p>=(n+0.76)&&p<=(n+0.87)) {
p=n+0.75;
}else if(p>=(n+0.88)&&p<=(n+0.99)) {
p=n+1;
}
System.out.println("Điểm của bạn sau khi được làm tròn là : " + p);
}
}
Nhưng tiếc thay nó báo lỗi có bug ngay 2 dòng parse, và bây giờ em cũng không biết fix bug như thế nào . Mong mọi người giúp em, em cảm ơn nhiều quy tắc
Bài liên quan
Index của mảng bắt đầu từ 0 nhé.
Nó vẫn không run được anh ơi, báo bug ngay cái double n
Bạn sửa lại chỗ này.
Do hàm split của java có tham số là 1 regex nên cần phải dùng
"\\."
.Ban Duc Khan đúng rồi đấy. Để hiểu them về Regex có thể tham khảo thêm ở đây bạn nhé
http://o7planning.org/vi/10175/huong-dan-su-dung-bieu-thuc-chinh-quy-trong-java
Em run code được rồi, cảm ơn anh Duc Khan vs Le Hoang Quan nhiều lắm ạ !