⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 module3.lst

📁 Mcgraw-Hill - Java 2 - A Beginner S Guide, 2Nd Ed - 2003 -prog.
💻 LST
📖 第 1 页 / 共 2 页
字号:
class DWDemo {   
  public static void main(String args[])   
    throws java.io.IOException { 
 
    char ch; 
 
    do { 
      System.out.print("Press a key following by ENTER: "); 
      ch = (char) System.in.read(); // get a char 
    } while(ch != 'q'); 
  }   
}

listing 23
// Guess the letter game, 4rd version.  
class Guess4 {   
  public static void main(String args[])   
    throws java.io.IOException { 
 
    char ch, answer = 'K'; 
 
    do { 
      System.out.println("I'm thinking of a letter between A and Z."); 
      System.out.print("Can you guess it: "); 
 
      // read a letter, but skip cr/lf 
      do { 
        ch = (char) System.in.read(); // get a char 
      } while(ch == '\n' | ch == '\r'); 
      
      if(ch == answer) System.out.println("** Right **"); 
      else { 
        System.out.print("...Sorry, you're "); 
        if(ch < answer) System.out.println("too low"); 
        else System.out.println("too high"); 
        System.out.println("Try again!\n"); 
      } 
    } while(answer != ch); 
  }   
}

listing 24
/* 
   Project 3-2 
 
   An improved Help system that uses a 
   a do-while to process a menu selection. 
*/ 
class Help2 { 
  public static void main(String args[])  
    throws java.io.IOException { 
    char choice; 
 
    do { 
      System.out.println("Help on:"); 
      System.out.println("  1. if"); 
      System.out.println("  2. switch"); 
      System.out.println("  3. for"); 
      System.out.println("  4. while"); 
      System.out.println("  5. do-while\n"); 
      System.out.print("Choose one: "); 
      do { 
        choice = (char) System.in.read(); 
      } while(choice == '\n' | choice == '\r');     
    } while( choice < '1' | choice > '5'); 
 
    System.out.println("\n"); 
  
    switch(choice) { 
      case '1': 
        System.out.println("The if:\n"); 
        System.out.println("if(condition) statement;"); 
        System.out.println("else statement;"); 
        break; 
      case '2': 
        System.out.println("The switch:\n"); 
        System.out.println("switch(expression) {"); 
        System.out.println("  case constant:"); 
        System.out.println("    statement sequence"); 
        System.out.println("    break;"); 
        System.out.println("  // ..."); 
        System.out.println("}"); 
        break; 
      case '3': 
        System.out.println("The for:\n"); 
        System.out.print("for(init; condition; iteration)"); 
        System.out.println(" statement;"); 
        break; 
      case '4': 
        System.out.println("The while:\n"); 
        System.out.println("while(condition) statement;"); 
        break; 
      case '5': 
        System.out.println("The do-while:\n"); 
        System.out.println("do {"); 
        System.out.println("  statement;"); 
        System.out.println("} while (condition);"); 
        break; 
    } 
  } 
}

listing 25
// Using break to exit a loop.   
class BreakDemo {  
  public static void main(String args[]) {  
    int num; 
 
    num = 100; 
 
    // loop while i-squared is less than num 
    for(int i=0; i < num; i++) {  
      if(i*i >= num) break; // terminate loop if i*i >= 100  
      System.out.print(i + " ");  
    }  
    System.out.println("Loop complete.");  
  }  
}

listing 26
// Read input until a q is received. 
class Break2 {   
  public static void main(String args[])   
    throws java.io.IOException { 
 
    char ch; 
 
    for( ; ; ) { 
      ch = (char) System.in.read(); // get a char 
      if(ch == 'q') break; 
    } 
    System.out.println("You pressed q!"); 
  }   
}

listing 27
// Using break with nested loops.  
class Break3 {  
  public static void main(String args[]) {  
  
    for(int i=0; i<3; i++) {  
      System.out.println("Outer loop count: " + i);  
      System.out.print("    Inner loop count: "); 
 
      int t = 0;             
      while(t < 100) {  
        if(t == 10) break; // terminate loop if t is 10  
        System.out.print(t + " ");  
        t++; 
      }  
      System.out.println();  
    }  
    System.out.println("Loops complete.");  
  }  
}

listing 28
// Using break with a  label. 
class Break4 {  
  public static void main(String args[]) {  
    int i; 
     
    for(i=1; i<4; i++) { 
one:  { 
two:    { 
three:    { 
            System.out.println("\ni is " + i); 
            if(i==1) break one; 
            if(i==2) break two; 
            if(i==3) break three; 
              
            // this is never reached 
            System.out.println("won't print"); 
          } 
          System.out.println("After block three."); 
        } 
        System.out.println("After block two."); 
      } 
      System.out.println("After block one."); 
    } 
    System.out.println("After for."); 
   
  }  
}

listing 29
// Another example of using break with a label. 
class Break5 {  
  public static void main(String args[]) {  
 
done: 
    for(int i=0; i<10; i++) { 
      for(int j=0; j<10; j++) { 
        for(int k=0; k<10; k++) { 
          System.out.println(k + " "); 
          if(k == 5) break done; // jump to done 
        } 
        System.out.println("After k loop"); // won't execute 
      } 
      System.out.println("After j loop"); // won't execute 
    } 
    System.out.println("After i loop");  
  }  
}

listing 30
// Where you put a label is important. 
class Break6 {  
  public static void main(String args[]) {  
    int x=0, y=0; 
 
// here, put label before for statement. 
stop1: for(x=0; x < 5; x++) { 
         for(y = 0; y < 5; y++) { 
           if(y == 2) break stop1; 
           System.out.println("x and y: " + x + " " + y);  
         } 
       } 
 
       System.out.println(); 
 
// now, put label immediately before { 
      for(x=0; x < 5; x++) 
stop2: { 
         for(y = 0; y < 5; y++) { 
           if(y == 2) break stop2; 
           System.out.println("x and y: " + x + " " + y);  
         } 
       } 
 
  }  
}

listing 31
// This program contains an error. 
class BreakErr { 
  public static void main(String args[]) { 
 
    one: for(int i=0; i<3; i++) { 
      System.out.print("Pass " + i + ": "); 
    } 
 
    for(int j=0; j<100; j++) { 
      if(j == 10) break one; // WRONG 
      System.out.print(j + " "); 
    } 
  } 
}

listing 32
// Use continue. 
class ContDemo {   
  public static void main(String args[]) { 
    int i; 
 
    // print even number between 0 and 100 
    for(i = 0; i<=100; i++) {  
      if((i%2) != 0) continue; // iterate 
      System.out.println(i); 
    } 
  }   
}

listing 33
// Use continue with a label. 
class ContToLabel {   
  public static void main(String args[]) { 
 
outerloop: 
    for(int i=1; i < 10; i++) { 
      System.out.print("\nOuter loop pass " + i + 
                       ", Inner loop: "); 
      for(int j = 1; j < 10; j++) { 
        if(j == 5) continue outerloop; // continue outer loop 
        System.out.print(j); 
      } 
    } 
  }   
}

listing 34
/* 
   Project 3-3 
 
   The finished Java statement Help system  
   that process multiple requests. 
*/ 
class Help3 { 
  public static void main(String args[])  
    throws java.io.IOException { 
    char choice; 
 
    for(;;) { 
      do { 
        System.out.println("Help on:"); 
        System.out.println("  1. if"); 
        System.out.println("  2. switch"); 
        System.out.println("  3. for"); 
        System.out.println("  4. while"); 
        System.out.println("  5. do-while"); 
        System.out.println("  6. break"); 
        System.out.println("  7. continue\n"); 
        System.out.print("Choose one (q to quit): "); 
        do { 
          choice = (char) System.in.read(); 
        } while(choice == '\n' | choice == '\r');     
      } while( choice < '1' | choice > '7' & choice != 'q'); 
 
      if(choice == 'q') break; 
 
      System.out.println("\n"); 
  
      switch(choice) { 
        case '1': 
          System.out.println("The if:\n"); 
          System.out.println("if(condition) statement;"); 
          System.out.println("else statement;"); 
          break; 
        case '2': 
          System.out.println("The switch:\n"); 
          System.out.println("switch(expression) {"); 
          System.out.println("  case constant:"); 
          System.out.println("    statement sequence"); 
          System.out.println("    break;"); 
          System.out.println("  // ..."); 
          System.out.println("}"); 
          break; 
        case '3': 
          System.out.println("The for:\n"); 
          System.out.print("for(init; condition; iteration)"); 
          System.out.println(" statement;"); 
          break; 
        case '4': 
          System.out.println("The while:\n"); 
          System.out.println("while(condition) statement;"); 
          break; 
        case '5': 
          System.out.println("The do-while:\n"); 
          System.out.println("do {"); 
          System.out.println("  statement;"); 
          System.out.println("} while (condition);"); 
          break; 
        case '6': 
          System.out.println("The break:\n"); 
          System.out.println("break; or break label;"); 
          break; 
        case '7': 
          System.out.println("The continue:\n"); 
          System.out.println("continue; or continue label;"); 
          break; 
      } 
      System.out.println(); 
    } 
  } 
}

listing 35
/*  
   Use nested loops to find factors of numbers 
   between 2 and 100. 
*/ 
class FindFac {   
  public static void main(String args[]) { 
 
    for(int i=2; i <= 100; i++) { 
      System.out.print("Factors of " + i + ": "); 
      for(int j = 2; j < i; j++) 
        if((i%j) == 0) System.out.print(j + " "); 
      System.out.println(); 
    } 
  }   
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -