連續輸入字符串,請按長度為8拆分每個字符串后輸出到新的字符串數組;長度不是8整數倍的字符串請在后面補數字0,空字符串不處理。


這題主要有個思想直接體會:方向思維解決問題更方便

package com.pagination.plus.workTrain;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;

/** *連續輸入字符串,請按長度為8拆分每個字符串后輸出到新的字符串數組; * 長度不是8整數倍的字符串請在后面補數字0,空字符串不處理。 * 連續輸入字符串(輸入2次,每個字符串長度小於100) * 輸出到長度為8的新字符串數組 */
public class Main {
    public static void main(String[] args) throws IOException {
        //BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream("D:\\JavaData\\tmp/input.txt")));
        //Scanner sc = new Scanner(System.in);


        String s = null;
        while ((s=bufferedReader.readLine())!=null) {
            StringBuilder sb = new StringBuilder();
            String str = s.trim();
            for (int i=0;i<str.length();i++) {
                if(' '!=str.charAt(i)){
                    sb.append(str.charAt(i));
                }
            }
            //System.out.println(sb.toString());
            //第一種復雜方法,正邏輯處理:考慮先分段在是否補0
        /* if(sb.length()>0&&sb.length()<8){ int cout = 8-sb.length(); while (cout>0){ sb.append(0); cout--; } System.out.println(sb.toString()); }else if(sb.length()==8){ System.out.println(sb.toString()); }else{ int segmets = sb.length()/8; int mod = sb.length()%8; for(int i=0,j=0;i<segmets;i++,j+=8){ System.out.println(sb.substring(j,j+8)); } if(mod!=0){ String substring = sb.substring(sb.length() - mod, sb.length()); StringBuilder stringBuilder = new StringBuilder(substring); for(int i=0;i<8-mod;i++){ stringBuilder.append(0); } System.out.println(stringBuilder.toString()); } }*/

        //第二種簡單方法,反向思維,首先判斷是否需要補0,然后直接一個方法搞定
            if(sb.length()%8!=0){
                for(int i=0;i<8;i++){
                    sb.append(0);
                }
            }
            for(int i=0,j=0;i<sb.length()/8;i++,j+=8){
                System.out.println(sb.substring(j,j+8));
            }






        }




    }


}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



猜您在找 字符串分隔 ->連續輸入字符串,請按長度為8拆分每個字符串后輸出到新的字符串數組; •長度不是8整數倍的字符串請在后面補數字0,空字符串不處理。 每日算法(2): 連續輸入字符串,請按長度為8拆分每個字符串后輸出到新的字符串數組,長度不是8整數倍的字符串請在后面補數字0,空字符串不處理 面試題-python3 連續輸入字符串,請按長度為8拆分每個字符串后輸出到新的字符串數組 Java 題目 連續輸入字符串,請按長度為8拆分每個輸入字符串並進行輸出; linux shell搜索某個字符串,然后在后面加上字符串?字符串后面插入字符串?sed字符串后面插入字符串? 寫一函數,求一個字符串的長度。在main函數中輸入字符串,並輸出其長度 寫一函數,求一個字符串的長度。在main函數中輸入字符串,並輸出其長度 寫一函數,求一個字符串的長度。在main函數中輸入字符串,並輸出其長度 4.寫一個控制台應用程序,接收一個長度大於3的字符串,完成下列功能: 1)輸出字符串的長度。 2)輸出字符串中第一個出現字母a的位置。 3)在字符串的第3個字符后面插入子串“hello”,輸出新字符串。 4)將字符串“hello”替換為“me”,輸出新字符串。 5)以字符“m”為分隔符,將字符串分離,並輸出分離后的字符串。 */ python輸入一個字符串,輸出翻轉后的字符串(翻轉字符串)
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM