为了账号安全,请及时绑定邮箱和手机立即绑定

挂信计划.

挂信计划.

FFIVE 2023-07-19 15:50:54
这几天在练习JAVA的问题,遇到了这样的问题:I/p: I Am A Good BoyO/p:I A A G B  m   o o      o y      d这是我的代码。System.out.print("Enter sentence: ");String s = sc.nextLine();s+=" ";String s1="";for(int i=0;i<s.length();i++){    char c = s.charAt(i);    if(c!=32)    {s1+=c;}    else    {        for(int j=0;j<s1.length();j++)        {System.out.println(s1.charAt(j));}        s1="";    }}问题是我无法进行此设计。我的输出是每行中的每个字符。
查看完整描述

1 回答

?
神不在的星期二

TA贡献1963条经验 获得超6个赞

首先,您需要用空格作为分隔符来划分字符串并将它们存储在字符串数组中,您可以通过编写自己的代码将一个字符串划分为多个字符串来完成此操作,或者您可以使用名为的内置函数split()


将字符串“拆分”为字符串数组后,只需迭代字符串数组,次数与最长字符串出现的次数相同,因为这是您要打印的最后一行(从共享输出中可以理解),即,d来自 string Good,因此迭代字符串数组,直到打印最大/最长字符串中的最后一个字符,然后从那里退出。


您需要在迭代字符串数组时处理任何边缘情况,例如没有任何额外字符可供打印的字符串,但需要为下一个具有输出顺序字符的字符串打印空格。


以下是您可以参考的代码段,但请记住在进一步阅读之前尝试上面解释的逻辑,


import java.io.*;

import java.util.*;

public class MyClass {

    public static void main(String args[]) throws IOException{

        //BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        Scanner sc = new Scanner(System.in);

        String[] s = sc.nextLine().split(" ");

        // Split is a String function that uses regular function to split a string, 

        // apparently you can strings like a space given above, the regular expression 

        // for space is \\s or \\s+ for multiple spaces

        int max = 0;

        for(int i=0;i<s.length;i++) max = Math.max(max,s[i].length()); // Finds the string having maximum length

        int count = 0;

        while(count<max){ // iterate till the longest string exhausts

            for(int i=0;i<s.length;i++){

                if(count<s[i].length()) System.out.print(s[i].charAt(count)+" "); // exists print the character

                else System.out.print("  "); // Two spaces otherwise

            }

            System.out.println();count++;

        }

    }

}

编辑:我正在分享下面的字符串输出This is a test Input


T i a t I 

h s   e n 

i     s p 

s     t u 

        t   


查看完整回答
反对 回复 2023-07-19
  • 1 回答
  • 0 关注
  • 80 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信