Hay Java-- segundo tiempo de un reloj digital

Curso: lenguaje de programación orientado a objetos --Java ( Weng Kai )


Título Contenido:

problema de programación de esta semana es que resulta necesario modificar el reloj se hace sobre la base de un programa de cursos impartidos en. Pero no le directo al programa de reloj de código, el programa de reloj de entrada de código de su propia categoría de vídeo y visualización del reloj basa en, y luego hacer el tema.

Tenemos que añadir un programa para el reloj representado segundos Pantalla y luego añadir lo siguiente como las funciones miembro públicas de reloj:

 

Reloj público (int hora, minuto int, int segundo);

    Con la hora, minuto y segundo tiempo de inicialización.

garrapata public void ();

    "Tick" mirada, hora de ir de 1 segundo.

Cadena public toString ();

    String devuelve un valor para representar la hora actual en la forma "hh: mm: ss" es. Cada valor aquí ocupan dos, dos son menos del 0:00. Tales como "00:01:22". Nota que el colon es occidentales, no los chinos.

 

Consejo: String.Format () y printf pueden ser formateados como una forma de cadena.

 

También escribir una clase principal, su función principal como algo parecido, la atención debe estar intacto como principales funciones de principales:

	public static void main(String[] args) {

		java.util.Scanner in = new java.util.Scanner(System.in);

		Clock clock = new Clock(in.nextInt(), in.nextInt(), in.nextInt());

		clock.tick();

		System.out.println(clock);

		in.close();

	}

Formatos de entrada:

Uso de la entrada y salida dada sin tener en cuenta la función principal.

Los formatos de salida:

Uso de la entrada y salida dada sin tener en cuenta la función principal.

de entrada de la muestra:

Uso de la entrada y salida dada sin tener en cuenta la función principal.

Resultado de muestra:

Uso de la entrada y salida dada sin tener en cuenta la función principal.

Plazo: 500 ms Límite de memoria: 32000kb

código:

public class Main{
	
	public static void main(String[] args) {

		java.util.Scanner in = new java.util.Scanner(System.in);
		Clock clock = new Clock(in.nextInt(), in.nextInt(), in.nextInt());
		clock.tick();
		System.out.println(clock);
		in.close();

	}
}

class Clock{	
	private Display hourDP = new Display(24);
	private Display minuteDP = new Display(60);
	private Display secondDP = new Display(60);
	
	public Clock(int hour, int minute, int second) {
		
		hourDP.setValue(hour);
		minuteDP.setValue(minute);
		secondDP.setValue(second);
		
	}
	
	public void tick() {
		
		secondDP.increase();
		if(secondDP.getValue()==0) {
			minuteDP.increase();
			if(minuteDP.getValue()==0) {
				hourDP.increase();
			}
		}
	}
	
	@Override
	public String toString() {
		String time = String.format("%02d:%02d:%02d", hourDP.getValue(),minuteDP.getValue(),secondDP.getValue());
		return time;
	}
	
//	public void start() {
//		while(true) {
//			secondDP.increase();
//			if(secondDP.getValue()==0) {
//				minuteDP.increase();
//				if(minuteDP.getValue()==0) {
//					hourDP.increase();
//				}
//			}
//			System.out.printf("%02d:%02d\n",hourDP.getValue(),minuteDP.getValue());
//		}
//	}
}

class Display{
	private int limit = 0;
	private int value = 0;
	
	public Display(int limit) {
		this.limit = limit;
	}
	
//	public Display(int limit, int value) {
//		this.limit = limit;
//		this.value = value;
//	}
	
	public void increase() {
		value++;
		if(value == limit) {
			value = 0;
		}
	}
	
	public int getValue() {
		return value;
	}
	
	public void setValue(int value) {
		this.value = value;
	}
	
}

 

Publicado 37 artículos originales · ganado elogios 47 · Vistas de 100.000 +

Supongo que te gusta

Origin blog.csdn.net/u013378642/article/details/103132460
Recomendado
Clasificación