您现在的位置是:首页 > Java 当前栏目 替换空格java JAVA 输入 数组 2023-03-02 11:14:34 时间 此前,一直觉得做笔记不重要,好了,我错了,从今起认真做笔记记录渣渣的自己 题目:将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 解答如下:1.将输入的字符串转换为字符数组,此时需要一个方法叫做toCharArray() Scanner in = new Scanner(System.in); char[] str = in.nextLine().toCharArray(); if(str == null || str.length<0){ return; } 此时当然要确定一下输入的str不是个空的咯(每次输入的,我认为都应该判断一下!) 2.之后便是要计算字符串中有几个空格,以确定加上%20之后的字符串的长度 int i=0; int numberOfBlack = 0; for(i=0;i<str.length;i++){ if(str[i] == ' '){ numberOfBlack++; } } int oriLength = str.length-1; int afterLength = str.length + numberOfBlack*2; 3.在确定afterLength之后,此时我用了另一个数组str1,str1的长度是afterLength,采用从后往前的法子,一个字符一个字符给前走,当str\[oriLength\]遇着空格时,str1就将‘0’ ‘2’ ‘%’一个一个的赋值;当没有空格时,就使用else中的赋值一次。 (之所以用的--afterLength,是因为我定义的str1的长度是afterLength,而数组的最后一个索引为afterLength-1) char[] str1 = new char[afterLength]; while(oriLength >= 0) { //替换空格 if(str[oriLength] == ' ') { str1[--afterLength] = '0'; str1[--afterLength] = '2'; str1[--afterLength] = '%'; } else { str1[--afterLength] = str[oriLength]; } oriLength--; } System.out.println(str1); 4.最后打印出来验证是否如题所求。 ![70][] [70]: /images/20220505/b62fe97727b144df9a19440a479132dd.png 本文地址: 替换空格java 相关文章 【Java基础】变量 Java——可变参数 Java语言简介 java_springMVC_session Java 基础 入门 java学习(10) java面试基础 java基础面试 Java基础总结 Java基础总结 Java基础总结 java 基础 -- 总结 Java基础总结 Java--基础总结 java.util.Arrays 新增功能 – Lambda 函数的新的预置并发 Java Reflection - Arrays java——二分查找 二分查找(Java) Java二分查找