Red de conocimiento informático - Aprendizaje de programación - Programación Java para calcular pago y cambio

Programación Java para calcular pago y cambio

importar?java.io.IOException;

importar?java.io.InputStream;

importar?java.util.ArrayList;

importar?java.util.List;

¿clase pública?¿Cambiar?{

/**

?*?@param?args

?*/

public?static?void?main(String[]?args)?{

System.out.println("Ingrese el precio: " );

double?m?=?Double.parseDouble(getInputLine());

System.out.println("Pague el importe: ");

double?c?=?Double.parseDouble(getInputLine());

cambio(m,?c);

}

público ?static ?String?getInputLine()?{

InputStream?inputStream?=?System.in;

Listlt;Bytegt;?cmdBuffer?=?new?ArrayListlt;Bytegt;( );

int?t;

¿intentar?{

while?(verdadero)?{

t?=?inputStream. leer( );

si?(t?==?'\n')?{

byte[]?bs?=?new?byte[cmdBuffer.size() ];

para?(int?i?=?0;?i?lt;?cmdBuffer.size();?i )?{

bs[i]?= ?cmdBuffer .get(i);

}

return?new?String(bs).trim();

}?else?{

cmdBuffer.add((byte)?t);

if?(cmdBuffer.size()?gt;?1024)?{

return?null;

p>

}

}

}

}?catch?(IOException?e)?{

return?null ;

}

}

public?static?double[]?moneys?=?{?0.01,?0.02,?0.05, ?0,1,?0,2,?0,5,?1,?2,?5,?10,?20,?50,?100?};

/**

? *?@param ?m

?*Precio

?*?@param?c

?*Pago

?*/

público?estático?vacío?

cambiar(¿doble?m,?doble?c)?{

¿doble?z?=?c?-?m;

si?(z?lt;?0)? {

System.out.println("¡Pago insuficiente!");

}?else?if?(z?==?0)?{

System.out.println("No se requiere cambio.");

}?else?{

System.out.println("Cambiar***:"? ?z ? ?"元");

System.out.println("dónde: ");

for?(int?i?=?moneys.length?-? 1; ?i?gt;=?0;?i--)?{

double?money?=?moneys[i];

int?count?=?0 ;

while?((z?-?money)?gt;=?0)?{

z?-=?money;

contar

}

if?(count?gt;?0)?{

System.out.println(dinero? ?"元:"? ?count ? ? "张");

}

}

}

}

}