统计字符串中的单词个数
统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。
请注意,你可以假定字符串里不包括任何不可打印的字符。
示例:
输入: "Hello, my name is John"
输出: 5
解释: 这里的单词是指连续的不是空格的字符,所以 "Hello," 算作 1 个单词。
思路:
1.先用trim函数把两边的符号去掉;
2.判断是否为空
3.以空格分离字符串
4.循环跳过空格的
class Solution {
public int countSegments(String s) {
s=s.trim();
if(s==null||s.isEmpty()){
return 0;
}
String[] str=s.split(" ");
int count=0;
for(int i=0;i<str.length;i++){
//空格的不算,有可能多个空格
if(str[i].isEmpty()){
continue;
}
count++;
}
return count;
}
}
自定义异常实现登录
实现一个简单的控制台版用户登陆程序, 程序启动提示用户输入用户名密码. 如果用户名密码出错, 使用自定义异常的方式来处理
思路:先定义两个自定义类,分别继承Exception父类,并实现构造函数,然后再写登录代码,throws对异常的声明,必须处在方法声明时参数列表之后,然后接收throw对异常的抛出,throw必须在方法体的内部,最后再进行try-catch的捕获,throws对异常没有真正的处理,而是将异常报告给抛出异常方法的调用者,由调用者处理,try-catch是真正对异常进行处理的,try里面的代码异常了,由catch捕获并进行处理,catch捕获到的异常类型与try抛出的异常一致时才能进行处理
import org.omg.CORBA.UserException;
class UserNameException extends Exception{
public UserNameException(String message){
super(message);
}
}
class UserPasswordException extends Exception{
public UserPasswordException(String message) {
super(message);
}
}
public class Login {
private static String userName="admin";
private String password="123456";
public static void loginInfo(String userName, String password)
throws UserNameException,UserPasswordException {
if(!userName.equals((userName))){
throw new UserNameException("用户名错误!");
}
if(!password.equals(password)){
throw new UserPasswordException("密码错误!");
}
System.out.println("登陆成功");
}
public static void main(String[] args) {
try {
loginInfo("admin","123456");
} catch (UserNameException e) {
throw new RuntimeException(e);
} catch (UserPasswordException e) {
throw new RuntimeException(e);
}
}
}
结果:
标签:JAVA,String,方面,public,try,catch,异常,throw From: https://blog.csdn.net/2401_86415114/article/details/143222642