esparig / java-mentoring

0 stars 0 forks source link

Formatting strings #7

Open esparig opened 2 years ago

esparig commented 2 years ago

This content is for educational purposes only! The following content could have been retrieved from a copyrighted source. However, Copyright Disclaimer under section 107 of the Copyright Act 1976, allowance is made for "fair use" for purposes such as criticism, comment, news reporting, teaching, scholarship, education and research. Fair use is a use permitted by copyright statutes that might otherwise be infringing. Non-profit, educational or personal use tips the balance in favour of fair use. https://en.wikipedia.org/wiki/Fair_use

Java's System.out.printf function can be used to print formatted output. This exercise aims to test your understanding of formatting output using printf.

To get you started, a portion of the solution is provided for you; you must format and print the input to complete the solution.

Input Format

Every line of input will contain a String followed by an integer. Each String will have a maximum of 10 alphabetic characters, and each integer will be in the inclusive range from 0 to 999.

Output Format

In each line of output there should be two columns: The first column contains the String and is left justified using exactly 15 characters. The second column contains the integer, expressed in exactly 3 digits; if the original input has less than three digits, you must pad your output's leading digits with zeroes.

Sample Input

java 100
cpp 65
python 50

Sample Output

================================
java           100 
cpp            065 
python         050 
================================

Explanation

Each String is left-justified with trailing whitespace through the first 15 characters. The leading digit of the integer is the 16th character, and each integer that was less than 3 digits now has leading zeroes.

Base code

You can use the following base code:

import java.util.Scanner;

public class Solution {

    public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            System.out.println("================================");
            for (int i = 0; i < 3; i++) {
                String inputString = sc.next();
                int inputInt = sc.nextInt();
                // Complete this line
            }
            System.out.println("================================");
    }
}

Additional notes

This exercise has been retrieved from the Internet, I'm sure you can search for the solution, but I encourage you to try to solve it by yourself and ask for whatever clarification is needed instead. Have fun!

JvrTrvjn commented 2 years ago

A ver si me entero, ¿soy yo el que debe introducir los datos por consola? ¿Cómo hago que números de 2 cifras se le añade un 0 para hacerlo de 3 cifras? ¿Cómo utilizo exactamente los 15 caracteres? Creo que no se buscar con propiedad en Google, me falta terminología y exactitud (sobre todo en inglés). Gracias de verdad

esparig commented 2 years ago

A ver si me entero, ¿soy yo el que debe introducir los datos por consola?

Aquí la documentación de la clase Scanner, intenta siempre consultar fuentes fiables. Como estás leyendo de la entrada estándar (System.in), puedes o bien escribir tú por consola cuando el programa te lo pida o proporcionar un fichero. Para proporcionar un fichero de entrada por consola sería usando el operador <, en Eclipse es en "Run configurations", pestaña "common", y seleccionas el "input file" que habrás creado previamente, tal y como se explica en esta entrada de StackOverflow (otra fuente de información inagotable): https://stackoverflow.com/questions/54545107/running-program-arguments-through-eclipse-ide

¿Cómo hago que números de 2 cifras se le añade un 0 para hacerlo de 3 cifras? ¿Cómo utilizo exactamente los 15 caracteres? Creo que no se buscar con propiedad en Google, me falta terminología y exactitud (sobre todo en inglés). Gracias de verdad

Esto es lo que tienes que averiguar, intenta buscar el título de la issue + java, y consulta fuentes fiables... poco a poco comenzarás a reconocerlas... como es la primera vez te dejo aquí una página que he encontrado al buscar "formatting strings java": https://www.javatpoint.com/java-string-format

¡Suerte!