Skip to main content

JAVA Program - 05 "JAVA Loops I"

Java Stdin and Stdout I

 

Program - 05


Java's System.out.printf function can be used to print formatted output. The purpose of this exercise is to test your understanding of formatting output using printf.

To get you started, a portion of the solution is provided for you in the editor; 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  alphabetic characters, and each integer will be in the inclusive range from  to.

Output Format

In each line of output there should be two columns:
The first column contains the String and is left-justified using exactly the characters.
The second column contains the integer, expressed in exact 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 characters. The leading digit of the integer is the character, and each integer that was less than digits now has leading zeroes.


JAVA 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 s1=sc.next();
int x=sc.nextInt();
System.out.printf("%-15s%03d%n", s1, x);
/*"%-15s" means that within 15 blank space, the String "s1" will be filled in
the left. (fill in the blanks from the left) "%03d" means that within 3 0s,
the integer"x" will be filled in the right. (fill in the zeros from the
right). This can only be done by using printf method.*/
}
System.out.println("================================");
}
}
          


Input (stdin)
  • java 100
    
  • cpp 65
    
  • python 50
Your Output (stdout)
  • ================================
  • java           100
  • cpp            065
  • python         050
  • ================================


Explanation:-

This is Java's formatting syntax. In this case, we have 2 parameters, that get formatted.

The first s1 is formatted using %-15s. The % means that what follows is an argument that will be formatted. Then follows a - resulting in left alignment. 15 fills the string up to a length of 15 characters (adding spaces at the end). Finally the s means, that you are formatting a string.

Second x which is formatted using %03d. Here the 0 is the fill character, meaning that, if necessary, zeros are added. The 3 is again the width, meaning the fill character 0 is added as many times as necessary to make it 3 digits long (this time at the beginning). Finally d means, that a integer is formatted.

Comments

Popular posts from this blog

JAVA Program - 04 "JAVA Output Formatting"

Java Stdin and Stdout I Program - 04 In this challenge, you must read an  integer , a  double , and a  String  from stdin, then print the values according to the instructions in the  Output Format  section below. To make the problem a little easier, a portion of the code is provided for you in the editor. Note:  We recommend completing  Java Stdin and Stdout I  before attempting this challenge. Input Format There are three lines of input: The first line contains an  integer . The second line contains a  double . The third line contains a  String . Output Format There are three lines of output: On the first line, print  String:  followed by the unaltered  String  read from stdin. On the second line, print  Double:  followed by the unaltered  double  read from stdin. On the third line, print  Int:  followed by the unaltered  integer  read from stdin. To make the problem ...

JAVA Program - 01 "WELCOME TO JAVA"

Welcome to JAVA Java Program - 01   Welcome to the world of Java! In this challenge, we practice printing to stdout. The code stubs in your editor declare a  Solution  class and a  main  method. Complete the  main  method by copying the two lines of code below and pasting them inside the body of your  main  method. System . out . println ( "Hello, World." ); System . out . println ( "Hello, Java." ); Input Format There is no input for this challenge. Output Format You must print two lines of output: Print  Hello, World.  on the first line. Print  Hello, Java.  on the second line. Sample Output Hello, World. Hello, Java. public class Solution { public static void main ( String [] args ) { /* Enter your code here. Print output to STDOUT. Your class should be named Solution. */ System . out . println ( "Hello, World." ) ; System . out . println ( "Hello, Java." ) ; } } outp...

JAVA Program - 02 "JAVA Stdin and Stdout I"

 Java Stdin and Stdout I Java Program - 02 Most HackerRank challenges require you to read input from  stdin  (standard input) and write output to  stdout  (standard output). One popular way to read input from stdin is by using the  Scanner class  and specifying the  Input Stream  as  System.in . For example: Scanner scanner = new Scanner ( System . in ); String myString = scanner . next (); int myInt = scanner . nextInt (); scanner . close (); System . out . println ( "myString is: " + myString ); System . out . println ( "myInt is: " + myInt ); The code above creates a  Scanner  object named   and uses it to read a  String  and an  int . It then  closes  the  Scanner  object because there is no more input to read, and prints to stdout using  System.out.println(String) . So, if our input is: Hi 5 Our code will print: myString is: Hi myInt is: 5 Alternatively...