Bem estou fazendo um programa que le duas horas e subtrai o resultado
vo deixar o código abaixo para ficar mais fácil a compreensão:
import javax.swing.*;
public class HORA
{
public int hora,seg,min,hora1,min1,seg1;
long hora2,min2,seg2,t1,t2,td;
boolean chave;
public static void main(String args[])
{
HORA entrada = new HORA();
entrada.cadastrar();
entrada.subtrair();
entrada.imprimir();
}
public void cadastrar()
{
do
hora= Integer.parseInt(JOptionPane.showInputDialog("Dígite as Horas"));
while(hora<0||hora>=24);
do
min=Integer.parseInt(JOptionPane.showInputDialog("Dígite os Minutos"));
while(min<0||min>=60);
do
seg=Integer.parseInt(JOptionPane.showInputDialog("Dígite os Segundos"));
while(seg<0||seg>=60);
}
//*********************************************
public void subtrair()
{
int hora1,min1,seg1,flag;
do
flag=Integer.parseInt(JOptionPane.showInputDialog(null,"Deseja Subtrair ?\nDígite 1 para sim\nDígite 2 para não"));
while(flag!=1&&flag!=2);
if(flag==1)
{
chave=true;
do
hora1= Integer.parseInt(JOptionPane.showInputDialog("Dígite as Horas que você quer subtrair"));
while(hora1<0||hora1>=24);
do
min1=Integer.parseInt(JOptionPane.showInputDialog("Dígite os Minutos que você quer subtrair"));
while(min1<0||min1>=60);
do
seg1=Integer.parseInt(JOptionPane.showInputDialog("Dígite os Segundos que você quer subtrair"));
while(seg1<0||seg1>=60);
t1=hora*3600+min+60+seg;
t2=hora1*3600+min1+60+seg1;
if(t1>t2)
td=t1-t2;
else
td=t2-t1;
hora2=td/3600;
min2=(td%3600)/60;
seg2=(td%3600)%60;
}
}
//************************************************
public void imprimir()
{
String saida;
JTextArea texto = new JTextArea();
saida="Programa hora \nA hora dígitada:\n";
saida+=hora+":"+min+":"+seg+"\n";
texto.setText(saida);
JOptionPane.showMessageDialog(null,texto);
}
}
Gostaria de saber como eu faço para passar dados de uma função para outra…??? igual na função subtrair que eu fiz… eu gostaria de passar os dados da subtração das horas para função imprimir as variaveis globais hora2,min2,seg2 receberam valores da a partir dos calculos feitos mais quando vo imprimir não da certo alguém tem alguma explicação…?