版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
点击上方蓝色链接,关注并“设为星标”
精彩内容,每天及时推送
第0期答案
上期问题:
问题分析:
本问题比较简单,思路是遍历字符串中的字符,然后判断字符串中的字符如果是大写字母就变成了小写,如果是小写字母就变为大写。在Java中我们可以使用toCharArray()方法把字符串变为字符数组,通过Character.toUpperCase()方法把小写字母变为大写,通过Character.toLowerCase()方法把大写字母变为小写。
代码:
package com.albertyy.AlbertYang;
import java.util.Scanner;
public class String_Substitution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
System.out.println(substitutionStr(str));
}
public static String substitutionStr(String str) {
char[] c = str.toCharArray();
for (int i = 0; i < c.length; i++) {
if ('a' <= c[i] && c[i] <= 'z') {
c[i] = Character.toUpperCase(c[i]);
} else if ('A' <= c[i] && c[i] <= 'Z') {
c[i] = Character.toLowerCase(c[i]);
}
}
String s = new String(c);
return s;
}
}
读者小白提供的答案:
扫描二维码关注公众号,回复:
7565183 查看本文章
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str1 = sc.nextLine();
System.out.println(changeStr(str1));
}
public static String changeStr(String str){
char[] ch = str.toCharArray();
int a = 'A'-'a'; //获得大小写之间差值
for(int i = 0; i < ch.length; i++){
if('a' <= ch[i] && ch[i] <= 'z'){
ch[i] = (char)(ch[i]+a);
}else if('A' <= ch[i] && ch[i] <= 'Z'){
ch[i] = (char)(ch[i]-a);
}
}
String s=new String(ch);
return s;
}
}
每日一问|今日问题
写一个函数,函数中传入2 个参数,1 个String类型的字符串,1 个int类型的字节数量,返回值为截取的字符串,要求字符串中的中文不能出现乱码:如(“我ABC”,4)应该截为“我AB”,输入(“我ABC 汉DEF”,6)应该输出为“我ABC”而不是“我ABC+汉的半个”,请写出这个函数。
问题答案将会在下期系列文章中给出,希望大家都能养成独立思考的好习惯,先自己思考一下问题的答案。大家可以加我微信:hntkyxy,把自己的答案发给我,在下期文章中附上你的答案,仅限五人,先到先得。希望大家多多参与支持,这对你真的没什么坏处。
长按二维码识别关注