1 编程将字符串"abcdefg",逆序输出。
代码:
public class ReverseOutput {
public static void main(String[] args) {
String s="abcdefg";
StringBuffer str=new StringBuffer(s);
System.out.println(str.reverse());
//或
for (int i = s.length()-1; i>=0 ; i--) {
System.out.print(s.charAt(i));
}
}
}
运行结果:
2 编程统计在字符串"我正在学习java编程,学的第一个java程序是Hello java!"中,"java"出现的次数
代码:
public class Statistics {
public static void main(String[] args) {
String s="我正在学习java编程,学的第一个java程序是Hello java!";
int num=0;
while (s.indexOf("java")!=-1){
num++;
s=s.substring(s.indexOf("java")+"java".length());
}
System.out.println("在字符串\"我正在学习java编程,学的第一个java程序是Hello java!\"中,\"java\"出现的次数为:"+num);
}
}
运行结果:
3.将给定字符串中的每个单词反转后输出,字符串中可以有标点符号,单词的分隔也可以是多个空格。
如 str = “we are a student”
输出:ew era a tneduts
代码:
public class StringTest3 {
public static void main(String[] args) {
String str = "Now,we are a student!".replaceAll("[,.'/<>!?(){};‘:“]"," "),a="";
for (int i = 0; i < str.length(); i++) {
if (str.charAt(i)==' '|| i == str.length() - 1)
for (int j = i; j >= 0; j--) {
if (str.charAt(j) == ' '&& j < i) break;
a += str.charAt(j);
}
}
System.out.println(a.toString());
//或
String s[]=str.split("\\s+|\\W");
for (String s1:s){
StringBuffer s2=new StringBuffer(s1);
s2.reverse();
System.out.print(s2+" ");
}
}
}
运行结果:
4.将给定字符串中的每个单词顺序反着输出,字符串中可以有标点符号,单词的分隔也可以是多个空格。
如 str = “we are a student”
输出:student a are we
这题和第3题题干有些类似,但要求不一样,认真读题。
代码:
public class StringTest4 {
public static void main(String[] args) {
String str = "Now,we are a student!".replaceAll("[,.'/<>!?(){};‘:“]"," "),a="";
for (int i = str.length()-1; i >= 0; i--) {
if (str.charAt(i)==' '|| i == 0)
for (int j = i; j < str.length(); j++) {
a += str.charAt(j);
if (str.charAt(j) == ' '&&j>i) break;
}
}
System.out.println(a.toString());
//或
String s[]=str.split("\\s+|\\W");
for (int i=s.length-1;i>=0;i--){
System.out.print(s[i]+" ");
}
}
}
运行结果:
5.给定一个字符串str=“abcdefg” 和一个偏移量offset = 15,根据偏移量原地旋转字符串(从左向右旋转) 后输出。
代码:
import java.util.Scanner;
public class StringTest5 {
public static void main(String[] args) {
String str="abcdefg",str1=str;
Scanner s=new Scanner(System.in);
System.out.println("请输入offset的值:");
int offset=s.nextInt(),num=0;
int n=str.length()-offset%str.length();
String s1=str.substring(n)+str.substring(0,n);
System.out.println(s1);
}
}
运行结果: