1.反转的串:设计程序,实现把串s中的内容反转后放入s2的功能。
法一:
public class Test_1 {
public static void main(String[] args) {
String s = "1234567";
String s2 = "";
for (int i = 0; i < s.length(); i++) {
s2 = s.charAt(i) + s2; // 填空
}
System.out.println(s2);
}
}
运行结果:7654321
法二:
package Program1;
//3、反转的串:设计程序,实现把串s中的内容反转后放入s2的功能。
public class Three {
public static void main(String[] args) {
StringBuffer s=new StringBuffer("aaaaaafsdf");
StringBuffer s2=s.reverse();
System.out.println(s2);
}
}
2、在实际的开发工作中,对字符串的处理是最常见的编程任务。本题目即是要求程序对用户输入的串进行处理。具体规则如下:
(1)把每个单词的首字母变为大写。
(2)把数字与字母之间用下划线字符(_)分开,使得更清晰;
(3)把单词中间有多个空格的调整为1个空格。
我们假设:用户输入的串中只有小写字母,空格和数字,不含其它的字母或符号。每个单词间由1个或多个空格分隔。假设用户输入的串长度不超过200个字符。
//此代码不符合题意,建议参考下面那种方法
package Test;
import java.util.Scanner;
/*4、在实际的开发工作中,对字符串的处理是最常见的编程任务。本题目即是要求程序对用户输入的串进行处理。具体规则如下:
(1)把每个单词的首字母变为大写。
(2)把数字与字母之间用下划线字符(_)分开,使得更清晰;
(3)把单词中间有多个空格的调整为1个空格。
我们假设:用户输入的串中只有小写字母,空格和数字,不含其它的字母或符号。每个单词间由1个或多个空格分隔。假设用户输入的串长度不超过200个字符。*/
public class Test_6 {
private String string;
public Test_6(String string) {
super();
this.string = string;
}
//将每个单词的首字母变大写
public String toUp(){
String[]s=string.split(" +");
String ss=new String();
for(int i=0;i<s.length;i++) {
ss+=s[i].substring(0,1).toUpperCase()+s[i].substring(1)+" ";//此处返回值不符合题意
}
return ss;
}
//在数字与字母之间添加下划线
public String add_() {
for(int i=0;i<string.length()-1;i++) {
char a=string.charAt(i);
char b=string.charAt(i+1);
if(Character.isDigit(a)&&Character.isLetter(b)||Character.isDigit(b)&&Character.isLetter(a)) {
string=string.substring(0, i+1)+"_"+string.substring(i+1);
}
}
return string;
}
//将单词之间的多个空格转换为一个空格
public String replace() {
string=string.replaceAll(" +", " ");//" +"就是多个空格的意思
return string;
}
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
String s=in.nextLine();//nextLine()方法返回的是Enter键之前的所有字符,可以得到带空格的字符串
Test_6 t6=new Test_6(s);
System.out.println(t6.toUp());
System.out.println(t6.add_());
System.out.println(t6.replace());
}
}
//版权归wr所有
public class Chuan {
private String s;
public Chuan(String s) {
this.s = s;
}
public Chuan() {
}
public String getS() {
return s;
}
public void ChuLi() {
String s1="";//存储结果
String[] ss=s.split("\\s+");
for(int i=0;i<ss.length;i++) {
String s2="";
s2= (ss[i].charAt(0)+"").toUpperCase();
StringBuffer sb = new StringBuffer(ss[i]);
sb.replace(0, 1, s2);
ss[i]=sb.toString();
s1+=ss[i]+" ";
}
s1=s1.trim();//去掉最后一个空格
char[] c=s1.toCharArray();
s="";
s+=c[0];
for(int i=1;i<c.length;i++) {
if((Character.isDigit(c[i-1])&&Character.isLetter(c[i]))||
(Character.isDigit(c[i])&&Character.isLetter(c[i-1]))) {
s+="_";
}
s += c[i];
}
}
}
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in =new Scanner(System.in);
Chuan c = new Chuan(in.nextLine());
c.ChuLi();
System.out.println(c.getS());
in.close();
}
}
3. 编写一个Java应用程序,实现如下功能:
(1) 判断两个字符串是否相同,s1=”you are a student”,s2=”how are you”;
(2) 判断字符串”22030219851022024”的前缀、后缀是否和某个字符串”220302”相同;
(3) 按字典顺序比较两个字符串”你”和”我”的大小关系;
(4) 将数字型字符串”100”和”123.678”转换为数字;
(5) 将字符串”FEDCBA”存放到数组中,调用for循环读出数组数据显示在屏幕上
//没写主函数,懒
package Program1;
/*5、编写一个Java应用程序,实现如下功能:
(1) 判断两个字符串是否相同,s1=”you are a student”,s2=”how are you”;
(2) 判断字符串”22030219851022024”的前缀、后缀是否和某个字符串”220302”相同;
(3) 按字典顺序比较两个字符串”你”和”我”的大小关系;
(4) 将数字型字符串”100”和”123.678”转换为数字;
(5) 将字符串”FEDCBA”存放到数组中,调用for循环读出数组数据显示在屏幕上。
*/
public class Five{
public Five() {}
public boolean puanduan1(String str1,String str2){
if(str1.equals(str2))
return true;
else
return false;
}
public void puanduan2(String str1,String str2) {
if(str1.startsWith(str2)) {
System.out.println("前缀相同");
}
if(str2.endsWith(str1)) {
System.out.println("后缀相同");
}
}
public int compare(String str1,String str2) {
return str1.compareTo(str2);
}
public float zhuanhuan(String str) {
return Float.parseFloat(str);
}
public void shuchu(String str) {
char[] a=str.toCharArray();
for(int i=0;i<str.length();i++) {
System.out.println(a[i]);
}
}
}
/*public class Five {
public static boolean compareStr(String str1,String str2) {
return str1.equals(str2);
}
public static boolean comparePart(String str1, String str2) {
if(str1.matches("^" + str2 + ".+$") && str1.matches("^.+" + str2 + "$")) {
return true;
}
return false;
}
public static int compareValue(String str1, String str2) {
return str1.compareTo(str2);
}
public static float convertData(String str) {
return Float.parseFloat(str);
}
static String s="FEDCBA";
static char []stringArr=s.toCharArray();
// 将字符串转化为浮点数
public static void main(String[] args) {
String str1 = "you are a student";
String str2 = "how are you";
// (1)
System.out.println(compareStr(str1, str2));
// (2)
str1 = "22030219851022024";
str2 = "220302";
System.out.println(comparePart(str1, str2));
// (3)
str1 = "你";
str2 = "我";
System.out.println(compareValue(str1, str2));
// (4)
System.out.println(convertData("100"));
System.out.println(convertData("123.678"));
for(int i=0;i<stringArr.length;i++) {
System.out.println(stringArr[i]);
}
}
}
*/