package com.oristand.intger;import java.io.*;
public class Testq {

public static void main(String[] args) {
InputStreamReader isr=new InputStreamReader(System.in);
BufferedReader br=new BufferedReader(isr);
try {
String str=br.readLine();
while(str!=null){
for(int i=0;i<str.length();i++){
int a=(!((String.valueOf((str.charAt(i)))).equalsIgnoreCase("e")))?-1:
(!((String.valueOf(str.charAt(i+1))).equalsIgnoreCase("x")))?-1:
(!((String.valueOf(str.charAt(i+2))).equalsIgnoreCase("i")))?-1:
(!((String.valueOf(str.charAt(i+3))).equalsIgnoreCase("t")))?-1:1;
if(a==1){
break;
}
System.out.println(str.toUpperCase());
str=br.readLine();
}
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

解决方案 »

  1.   

    break只是跳出了内层for循环
    while前设一label 
    break label; 
      

  2.   

    别用break嘛,用return就退出了
      

  3.   

    别用break嘛,用return就退出了
      

  4.   

    你的代码
    public static void main(String[] args) { 
    InputStreamReader isr=new InputStreamReader(System.in); 
    BufferedReader br=new BufferedReader(isr); 
    int a=0;
    try { 
    String str=br.readLine(); 
    while(str!=null){ 
    for(int i=0;i <str.length();i++){ 

    a=(!((String.valueOf((str.charAt(i)))).equalsIgnoreCase("e")))?-1: 
    (!((String.valueOf(str.charAt(i+1))).equalsIgnoreCase("x")))?-1: 
    (!((String.valueOf(str.charAt(i+2))).equalsIgnoreCase("i")))?-1: 
    (!((String.valueOf(str.charAt(i+3))).equalsIgnoreCase("t")))?-1:1;
    //这是我加的,用来看看a可曾等于1过
    System.out.println(a);
    if(a==1){ 
    //这是我加的来测试是否到了这一步
    System.out.println("jieshu");
    break;

    System.out.println(str.toUpperCase()); 
    str=br.readLine(); 


    } catch (IOException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 


    这是我执行的结果
    sdafs
    -1
    SDAFS
    exit
    -1
    EXIT
    说明a根本就不会等于1呀兄弟,,也就是这部分代码出了问题
    a=(!((String.valueOf((str.charAt(i)))).equalsIgnoreCase("e")))?-1: 
    (!((String.valueOf(str.charAt(i+1))).equalsIgnoreCase("x")))?-1: 
    (!((String.valueOf(str.charAt(i+2))).equalsIgnoreCase("i")))?-1: 
    (!((String.valueOf(str.charAt(i+3))).equalsIgnoreCase("t")))?-1:1;} 
    不论怎么样a都不会为1
      

  5.   

    我自己在你的基础上改了一下,,兄弟,你看看把import java.io.*; 
    public class Testq { public static void main(String[] args) { 
    InputStreamReader isr=new InputStreamReader(System.in); 
    BufferedReader br=new BufferedReader(isr); 
    int a=0;
    try { 
    String str=br.readLine(); 
    while(str!=null){  if(str.equalsIgnoreCase("exit")){
    a=1;
    }
    //跟踪一下a的值
    System.out.println(a);
    if(a==1){ 
    //设置个显示 结束
    System.out.println("程序到此结束!");
    //注意break 只是退出了循环,,最好用System.exit(1); 这才是整个程序都退出
    System.exit(1); 

    System.out.println(str.toUpperCase()); 
    str=br.readLine(); 

    } catch (IOException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace();