[quote=lucasportela]A do Danilo tem um erro, se for informada uma nota inteira ele irá exibir 0.
ex: 7.0[/quote]
É só colocar um else no primeiro if…
import javax.swing.JOptionPane;
public class TesteNotaArredondada {
public static void main(String[] args) {
double notaArredondada = 0.0;
double nota = Double.valueOf(JOptionPane.showInputDialog("Entre com a nota"));
int notaInteira = (int) nota;
double resto = nota - notaInteira;
System.out.println("Nota: " + nota);
System.out.println("Nota inteira: " + notaInteira);
System.out.println("Resto: " + resto);
if (resto > 0) {
if (resto <= 0.5) {
notaArredondada = notaInteira + 0.5;
}else{
notaArredondada = notaInteira + 1;
}
} else {
notaArredondada = notaInteira;
}
System.out.println("Nota arredondada: " + notaArredondada);
}
}
[quote=Danillo_Moreno][quote=lucasportela]A do Danilo tem um erro, se for informada uma nota inteira ele irá exibir 0.
ex: 7.0[/quote]
É só colocar um else no primeiro if…
[code]
import javax.swing.JOptionPane;
public class TesteNotaArredondada {
public static void main(String[] args) {
double notaArredondada = 0.0;
double nota = Double.valueOf(JOptionPane.showInputDialog("Entre com a nota"));
int notaInteira = (int) nota;
double resto = nota - notaInteira;
System.out.println("Nota: " + nota);
System.out.println("Nota inteira: " + notaInteira);
System.out.println("Resto: " + resto);
if (resto > 0) {
if (resto <= 0.5) {
notaArredondada = notaInteira + 0.5;
}else{
notaArredondada = notaInteira + 1;
}
} else {
notaArredondada = notaInteira;
}
System.out.println("Nota arredondada: " + notaArredondada);
}
}
[/code][/quote]
import javax.swing.JOptionPane;
public class TesteNotaArredondada {
public static void main(String[] args) {
double notaArredondada = 0.0;
double nota = Double.valueOf(JOptionPane.showInputDialog("Entre com a nota"));
int notaInteira = (int) nota;
double resto = nota - notaInteira;
System.out.println("Nota: " + nota);
System.out.println("Nota inteira: " + notaInteira);
System.out.println("Resto: " + resto);
notaArredondada = notaInteira;
if (resto > 0 ) {
if (resto <= 0.5) {
notaArredondada = notaInteira + 0.5;
}else{
notaArredondada = notaInteira + 1;
}
}
System.out.println("Nota arredondada: " + notaArredondada);
}
}
ggmoura
#23
http://www.guj.com.br/posts/listByUser/15/51897.java
notaArredondada = Math.round(nota / 0.5) * 0.5;
Se a nota for 7.1, por exemplo:
7.1 / 0.5 = 14.2
round(14.2) = 14
14 * 0.5 = 7
Se for 7.4:
7.3 / 0.5 = 14.6
round(14.6) = 15
15 * 0.5 = 7.5
Se for um valor já arredondado (por exemplo 6.5):
6.5 / 0.5 = 13
round(13) = 13
13 * 0.5 = 6.5