Java 我需要一个小的变化,在输出请帮助我
在上面的代码中,当我输入ab时,它显示位置exaclty为0。但它也显示异常。我需要像我输入ab一样的输出,它应该显示ab。如果我输入像def这样的其他内容,它必须显示异常。你能帮我吗?这是更改后的方法:Java 我需要一个小的变化,在输出请帮助我,java,exception-handling,Java,Exception Handling,在上面的代码中,当我输入ab时,它显示位置exaclty为0。但它也显示异常。我需要像我输入ab一样的输出,它应该显示ab。如果我输入像def这样的其他内容,它必须显示异常。你能帮我吗?这是更改后的方法: import java.util.regex.*; import java.io.*; class Patmatch{ static String str = ""; public static void main(String[] args){ Buffe
import java.util.regex.*;
import java.io.*;
class Patmatch{
static String str = "";
public static void main(String[] args){
BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter name to see match");
try{
str = br.readLine();
} catch(IOException e){
System.out.println("Exception has been occurred" + e);
}
try{
Patternmatch();
} catch(NomatchException me){
System.out.println("Exception" + me);
}
}
private static void Patternmatch() throws NomatchException{
Pattern p = Pattern.compile("ab");
Matcher m = p.matcher(str);
while(m.find())
System.out.print(m.start() + " ");
throw new NomatchException("no match");
}
}
class NomatchException extends Exception{
NomatchException(String s){
super(s);
}
}
我自己做的。i包括系统出口(0);在println语句之后。它很好用:-)不要。曾经使用。系统。出口0.例如:,但是google for system+exit+java,你会发现很多:
private static void patternMatch() throws NomatchException{
final Pattern p = Pattern.compile("ab");
final Matcher m = p.matcher(str);
if(m.find()){
System.out.print(m.group());
} else{
throw new NomatchException("no match");
}
}