我需要分隔字符串和整数,并在单独的列中显示它

时间:2015-08-08 11:23:57

标签: java

Java System.out.printf函数允许您打印格式化的输出。此问题将测试您对此主题的了解。

准确输入3行。每一行由一个字符串和一个整数组成。假设这是样本输入:

java 100 cpp 65 python 50

字符串最多包含10个字母字符,整数的范围在0到999之间。

在每行输出中应该有两列。该字符串应位于第一列中,而整数应位于第二列中。这是上面输入的输出:

java 100 cpp 065

python 050

第一列应使用正好15个字符左对齐。第二列的整数应该正好是3位数。如果原始输入少于3位,则应在左侧填充零。

6 个答案:

答案 0 :(得分:6)

IQueryableExtensions

}

答案 1 :(得分:2)

使用此代码:

import java.util.Scanner;

public class Solution
{

    public static void main(String[] args)
    {
        Scanner sc=new Scanner(System.in);
        for(int i=0; i<3; i++)
        {
            String s1=sc.next();
            int x=sc.nextInt();
            System.out.printf("%-14s %03d %n", s1, x);
            // %-14s left-justified from o to 14 for string
            // %03d padded with leading zero for int
        }
    }

}

答案 2 :(得分:1)

import java.util.Scanner;

公共类解决方案{

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);
        }
        System.out.println("================================");

}

}

答案 3 :(得分:0)

公共课asd {

public static void main(String[] args) {
    String s = "java 100";
    int number;
    String snum = "";
    String text = "";
    for (int i = 0; i < s.length(); i++) {
        switch (s.charAt(i)) {
        case '0':
            snum += "0";
            break;
        case '1':
            snum += "1";
            break;
        case '2':
            snum += "2";
            break;
        case '3':
            snum += "3";
            break;
        case '4':
            snum += "4";
            break;
        case '5':
            snum += "5";
            break;
        case '6':
            snum += "6";
            break;
        case '7':
            snum += "7";
            break;
        case '8':
            snum += "8";
            break;
        case '9':
            snum += "9";
            break;

        default:
            text += s.charAt(i);
            break;
        }
    }
    number = Integer.parseInt(snum);
    System.out.print(text + " " + number);
}

}

答案 4 :(得分:0)

import java.util.Scanner;

公共类解决方案{

public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("================================");
           for (int i = 0; i < 3; i++){
   String string = sc.next();
   int num = sc.nextInt();


   System.out.printf("%-14s %03d %n", string, num);



}
     System.out.println("================================");

}

}

答案 5 :(得分:0)

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();
                int j=0;
                if(s1.length()<=10&&j<1000)
                {
                    String StringFormatted = String.format("%-15s",s1);
                    System.out.print(StringFormatted);
                    if(x<100)
                    {
                        String padded = String.format("%03d",x);
                        System.out.print(padded);
                    }
                    else
                    {
                        System.out.print(x);
                    }
                    //System.out.print(x);
                }
                System.out.println("");
            }
            System.out.println("================================");

    }