实例练习
部分代码会用注释进行说明
一.反转键盘录入的字符串:
import java.util.Scanner;
public class Zifuchuan
{
public static void main(String[] args)
{
Scanner input=new Scanner(System.in);
System.out.println("请输入字符串");
String ziFu=input.nextLine();
String reziFu = new StringBuilder(ziFu).reverse().toString();//反转
System.out.println(reziFu);
}
}
二.键盘录入QQ号码,验证格式的正确性:
import java.util.Scanner;
public class QQ
{
public static void main(String[] args)
{
Scanner input=new Scanner(System.in);
System.out.println("请输入QQ账号(- 必须是5—12位数字- 0不能开头)");
String qq=input.nextLine();
if(qq.length()>=5&&qq.length()<=12)
{
if (qq.charAt(0) != '0')
{
System.out.println("录入正确");
}
else
{
System.out.println("录入错误");
}
}
else{
System.out.println("录入错误");
}
}
}
三.字符串查找
import java.util.Scanner;
public class SearchStr
{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 1.键盘录入一个大字符串,再录入一个小字符串
System.out.print("请输入大字符串:");
String bigStr = sc.nextLine();
System.out.print("请输入小字符串:");
String smallStr = sc.nextLine();
int index = 0;
int count = 0;
/*
* indexOf(String str, int fromIndex)
* 该方法作用:从fromIndex位置开始查找,字符串str第一次出现的位置;若没找到,放回-1
*/
while ((index = bigStr.indexOf(smallStr, index)) != -1) {
index++;
count++;
}
System.out.println("小字符串" + smallStr + ",在大字符串中共出现" + count + "次");
}
}
四.替换某字符串中的某字符串:
import java.util.Scanner;
public class Del
{
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
// 1.键盘录入一个大字符串,再录入一个小字符串
System.out.print("请输入字符串:");
String srcStr = input.nextLine();
System.out.print("请输入删除部分字符串:");
String delStr= input.nextLine();
int index=0;
while ((index = srcStr.indexOf(delStr, index)) != -1)
{
// 拼接后继续检查是否还存在
srcStr= srcStr.substring(0, srcStr.indexOf(delStr)) + srcStr.substring(srcStr.indexOf(delStr) + delStr.length());
// substring(int beginIndex) 返回一个新的字符串,它是此字符串的一个子字符串。
//substring(int beginIndex, int endIndex)返回一个新字符串,它是此字符串的一个子字符串。
//如果只是单纯的检查这个字符串里掺杂着几个小字符串,则不需要再添加上检查过的字符串段,
// 即 srcStr.substring(0,srcStr.indexOf(delStr))不需要再此加到srcStr里
}
System.out.println(srcStr);
}
}
五.生成一个随机100内小数,转换为保留两位小数的字符串,不考虑四舍五入的问题:
import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner;
public class Xiaoshu
{
public static void main(String[] args)
{
double random = Math.random()*100;
System.out.println("随机数为:");
System.out.println(random);
String str = random+"";//
int index = str.indexOf(".");//用于寻找小数点的下标
String sub=str.substring(0,index+3);//substring() 方法用于提取字符串中介于两个指定下标之间的字符。
System.out.println("其两位小数为");
System.out.println(sub);
}
}
六.筛选字符串:
import java.util.Scanner;
public class Strdel
{
public static void main(String[] args)
{
Scanner input=new Scanner(System.in);
List<String> list=new ArrayList<>();
int judge;
for(;;)
{
System.out.println("1.录入 0,结束录入");
judge=input.nextInt();
if(judge==1)
{
System.out.println("请输入字符串");
String str=input.next();
list.add(str);
}
if (judge==0)
{
break;
}
}
System.out.println(list);
List<String> aftDel=new ArrayList<>();
for(int i=0;i<list.size();i++)
{
if(list.get(i).length()>5)
{
list.remove(i);
}
}
System.out.println(list);
}
}
七.判断回文字符串
import java.util.Scanner;
public class Huiwen
{
public static void main(String[] args)
{
Scanner input=new Scanner(System.in);
String huiW=input.next();
int i;
int j=huiW.length();
for(i=0;i<huiW.length();i++)
{
if(huiW.charAt(i)!=huiW.charAt(j-1))
break;
j--;
}
if(i==huiW.length())
{
System.out.println("yes");
}
else {
System.out.println("no");
}
}
}
—愿你的勇气,我的剑,以及我们共同的胜利,与太阳存在