Pessoas.
Preciso entregar um trabalho na faculdade em substituição a prova final.
O problema é o seguinte :
Criar um sistema que faça a divisão e apresente o resultado com 4 casas decimais.
Obs: Não deve ser usado o simbolo da Divisão ( / ou % ).
Bom, até aqui meus neuronios funcionaram perfeitamente, mas agora preciso de ajuda.
Se alguem souber como, agradeço
Falta:
1 - atribuir as 4 casas decimais ao resultado;
public class Calculo {
double dividendo, divisor, x;
float quociente;
public void setDividendo(String div) {
dividendo = Double.parseDouble(div);
}
public void setDivisor(String divi) {
divisor = Double.parseDouble(divi);
}
public void setX(String xs) {
x = Double.parseDouble(xs);
}
public float getX() {
return (float) x;
}
public float getQuociente() {
return quociente;
}
public void dividir() {
while (x > 0) {
x = x - divisor;
x = dividendo;
quociente = quociente + 1;
}
if (x < 0) {
quociente = quociente - 1;
}
}
}
2 - fazer com que o resultado apareça na Label
[private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
Calculo cal = new Calculo ();
cal.setDividendo(txtDividendo.getText());
cal.setDivisor(txtDivisor.getText());
cal.dividir();
txtResultado.setText(cal.getX());
Tenho duas duvidas:
A primeira, referente ao primeiro código é implementar para que o resultado de uma divisão qq apareça com 4 casas decimais.
A segunda, referente ao segundo código é fazer com que o resultado apareça na Label.
Mostrar no label,é o mesmo procedimento para mostrar em um jtextfield…
GregorianCalendar thisday = new GregorianCalendar();
Date d = thisday.getTime();
DateFormat df = DateFormat.getDateInstance();
String s = df.format(d);
//System.out.println("Hoje é " + s);
lb_datave.setText(s);
É só um exemplo onde mostro a data.
Para as casas decimais,atribua o resultado a uma variavel e faça assim:
suaVariavell=Math.ceil(suaVariavel*100+0.5)/100;//corrige ai estava errado
Existe várias formas de fazer isso,pode pesquisar aq no GUJ mesmo…
Para a história das 4 casas:
a) Multiplique o número por 10000
b) Ache o valor inteiro
c) Faça a divisão de acordo com o algoritmo dado nesse site.
d) Multiplique o resultado da divisão por 0.0001
valcomp=(Math.ceil(valcomp*10+0.5)/10 // uma casa decimal
valcomp=(Math.ceil(valcomp*100+0.5)/100 // duas casas decimais
valcomp=(Math.ceil(valcomp*1000+0.5)/1000 // três casas decimais e assim por diante...
Ah, desculpe que não tinha visto que está sendo usada a divisão pelo método da força bruta (ou seja, ir descontando o valor do quociente até que o dividendo vá para zero ou negativo).
Pessoas, antes de mais nada quero agradecer pela ajuda de todos.
O exercicio, ou o professor melhor dizendo, quer o resultado com 4 casas decimas, ou seja 12/3 = 0,004.
Vale lembrar que é expressamente proibido usar em qq ponto do exercicio utilizar o divisão, somente a subtração ou a soma.
[quote=ads.alexander]Pessoas, antes de mais nada quero agradecer pela ajuda de todos.
O exercicio, ou o professor melhor dizendo, quer o resultado com 4 casas decimas, ou seja 12/3 = 0,004.
Vale lembrar que é expressamente proibido usar em qq ponto do exercicio utilizar o divisão, somente a subtração ou a soma.
[/quote]
Não entendi 12/3 = 0,004,quatro casas decimais são casas após a virgula,não é… :roll: