Dificuldade em código, estou tentando fazer uma matriz que colete dados de temperatura e horário, mas quando estou rodando ele está repetindo a ultima informação que inclui

package sensores;

import java.util.Scanner;

public class temperatur {

public static void main(String[] args) {

    Scanner leia = new Scanner(System.in);
    
    double leitura[][] = new double [48][2];
    
    String hora; //Hora da medição
    float medicao; //Valor da medição
    char opcao;
    
    System.out.println("Leitura da temperatura");
    do {
        System.out.print("Informe a hora da leitura: ");
        hora = leia.next();
        System.out.print("Informe a temperatura local: ");
        medicao = leia.nextFloat();
        System.out.print("Continuar informand S/N");
        opcao = leia.next().toUpperCase().charAt(0);
    } while(opcao == 'S');
    
    for (int h=0; h<24; h++) {
		for (int m=0; m<50; m++) {
			if (leitura != null) {
				System.out.printf("Horário= " + hora);
				System.out.println(" -- Temperatura= " + medicao);
				System.out.println("---------------------------");

			}
		}
    }
}

}

Não utilize next nem nextFloat, quando usar Scanner para ler o TECLADO, utilize somente nextLine

Eu mudei para nextLine, mas ele ainda não está guardando as informações que eu coloco, só repete na matriz a ultima informação

package sensores;

import java.util.Scanner;

public class temperatur {
	
	public static void main(String[] args) {
		Scanner leia = new Scanner(System.in);
		double leitura[][] = new double [48][2];
		
		String hora; //Hora da medição
		String medicao; //Valor da medição
		char opcao;
		int i = 0 + 1;
		
		System.out.println("Leitura da temperatura");
		
		do {
			System.out.print((i+1)+ "=Informe a hora da leitura: ");
			hora = leia.nextLine();
			
			System.out.print("Informe a temperatura: ");
			medicao = leia.nextLine();
			
			System.out.print("Continuar informand S/N");        
			opcao = leia.nextLine().toUpperCase().charAt(0);
		} while(opcao == 'S');
		
		// Pega os valor e guarda
		for (int h = 0; h < 24; h++) {
			for (float m = 0; m < 40; m++) {
				if (leitura != null) {
					System.out.printf("Horário= " + hora);
					System.out.println(" - Temperatura= " + medicao);
					System.out.println("----------------------------------------");
				}
			}
		}
	}
}

Em nenhum lugar você está inserindo algo no seu array.
Você só está imprimindo o valor das variáveis hora e medicao dentro de um laço.

Se fizer um teste de mesa vai entender o erro de sua lógica.

Muito obrigado pela ajuda, deu certo o código, consegui incluir a array.