Java by API/java.util/Scanner

Материал из Java эксперт
Перейти к: навигация, поиск

new Scanner(FileReader file)

   <source lang="java">

/**

*Output:

String: Testing String: Scanner int: 10 double: 12.2 String: one boolean: true String: two boolean: false

*/

import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.Scanner; public class MainClass {

 public static void main(String args[]) throws IOException {
   int i;
   double d;
   boolean b;
   String str;
   FileWriter fout = new FileWriter("test.txt");
   fout.write("Testing Scanner 10 12.2 one true two false");
   fout.close();
   FileReader fin = new FileReader("Test.txt");
   Scanner src = new Scanner(fin);
   while (src.hasNext()) {
     if (src.hasNextInt()) {
       i = src.nextInt();
       System.out.println("int: " + i);
     } else if (src.hasNextDouble()) {
       d = src.nextDouble();
       System.out.println("double: " + d);
     } else if (src.hasNextBoolean()) {
       b = src.nextBoolean();
       System.out.println("boolean: " + b);
     } else {
       str = src.next();
       System.out.println("String: " + str);
     }
   }
   fin.close();
 }

}


 </source>
   
  
 
  



new Scanner(InputStream source)

   <source lang="java">

/**

*Output:
*/

import java.util.Scanner; public class MainClass {

 public static void main(String args[]) {
   Scanner conin = new Scanner(System.in);
   int count = 0;
   double sum = 0.0;
   System.out.println("Enter numbers to average.");
   while (conin.hasNext()) {
     if (conin.hasNextDouble()) {
       sum += conin.nextDouble();
       count++;
     } else {
       String str = conin.next();
       if (str.equals("done"))
         break;
       else {
         System.out.println("Data format error.");
         return;
       }
     }
   }
   System.out.println("Average is " + sum / count);
 }

}


 </source>
   
  
 
  



new Scanner(Readable source)

   <source lang="java">

/*

*/

import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.Scanner; public class MainClass {

 public static void main(String args[]) throws IOException {
   int count = 0; 
   double sum = 0.0; 

   FileWriter fout = new FileWriter("test.txt"); 

   fout.write("2, 3.4,    5,6, 7.4, 9.1, 10.5, done"); 
   fout.close(); 

   FileReader fin = new FileReader("Test.txt"); 

   Scanner src = new Scanner(fin); 

   src.useDelimiter(", *"); 

   while(src.hasNext()) { 
     if(src.hasNextDouble()) { 
       sum += src.nextDouble(); 
       count++; 
     } 
     else { 
       String str = src.next();  
       if(str.equals("done")) break; 
       else { 
         System.out.println("File format error."); 
         return; 
       } 
     } 
   } 

   fin.close(); 
   System.out.println("Average is " + sum / count); 
 }

}


 </source>
   
  
 
  



new Scanner(String instr)

   <source lang="java">

/**

*Output:

28

*/

import java.util.Scanner; public class MainClass {

 public static void main(String args[]) {
   String instr = "Name: Joe Age: 28 ID: 77";
   Scanner conin = new Scanner(instr);
   conin.findInLine("Age:"); // find Age
   if (conin.hasNext())
     System.out.println(conin.next());
   else
     System.out.println("Error!");
 }

}


 </source>
   
  
 
  



Scanner: findInLine(String str)

   <source lang="java">

/**

*Output:

28

*/

import java.util.Scanner; public class MainClass {

 public static void main(String args[]) {
   String instr = "Name: Joe Age: 28 ID: 77";
   Scanner conin = new Scanner(instr);
   conin.findInLine("Age:"); // find Age
   if (conin.hasNext())
     System.out.println(conin.next());
   else
     System.out.println("Error!");
 }

}


 </source>
   
  
 
  



Scanner: findWithinHorizon(String pattern, int horizon)

   <source lang="java">

import java.util.Scanner; public class Main {

 public static void main(String args[]) {
   Scanner sc = new Scanner("Name: Tom Age: 28 ID: 77");
   sc.findWithinHorizon("ID:",100);
   if (sc.hasNext())
     System.out.println(sc.next());
   else
     System.out.println("Error!");
 }

}

 </source>
   
  
 
  



Scanner: hasNext()

   <source lang="java">

/**

*Output:
*/

import java.util.Scanner; public class MainClass {

 public static void main(String args[]) {
   Scanner conin = new Scanner(System.in);
   int count = 0;
   double sum = 0.0;
   System.out.println("Enter numbers to average.");
   while (conin.hasNext()) {
     if (conin.hasNextDouble()) {
       sum += conin.nextDouble();
       count++;
     } else {
       String str = conin.next();
       if (str.equals("done"))
         break;
       else {
         System.out.println("Data format error.");
         return;
       }
     }
   }
   System.out.println("Average is " + sum / count);
 }

}


 </source>
   
  
 
  



Scanner: hasNextBoolean()

   <source lang="java">

/* String: string boolean: true boolean: false int: 1 int: 2 int: 3 double: 4.12

*/

import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.Scanner; public class MainClass {

 public static void main(String args[]) throws IOException {
   int i;
   double d;
   boolean b;
   String str;
   FileWriter fout = new FileWriter("test.txt");
   fout.write("string true false 1 2 3 4.12");
   fout.close();
   FileReader fin = new FileReader("Test.txt");
   Scanner src = new Scanner(fin);
    while (src.hasNext()) {
     if (src.hasNextInt()) {
       i = src.nextInt();
       System.out.println("int: " + i);
     } else if (src.hasNextDouble()) {
       d = src.nextDouble();
       System.out.println("double: " + d);
     } else if (src.hasNextBoolean()) {
       b = src.nextBoolean();
       System.out.println("boolean: " + b);
     } else {
       str = src.next();
       System.out.println("String: " + str);
     }
   }
   fin.close();
 }

}


 </source>
   
  
 
  



Scanner: hasNextDouble()

   <source lang="java">

/**

*Output:
*/

import java.util.Scanner; public class MainClass {

 public static void main(String args[]) {
   Scanner conin = new Scanner(System.in);
   int count = 0;
   double sum = 0.0;
   System.out.println("Enter numbers to average.");
   while (conin.hasNext()) {
     if (conin.hasNextDouble()) {
       sum += conin.nextDouble();
       count++;
     } else {
       String str = conin.next();
       if (str.equals("done"))
         break;
       else {
         System.out.println("Data format error.");
         return;
       }
     }
   }
   System.out.println("Average is " + sum / count);
 }

}


 </source>
   
  
 
  



Scanner: hasNextInt()

   <source lang="java">

/* String: string boolean: true boolean: false int: 1 int: 2 int: 3 double: 4.12

*/

import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.Scanner; public class MainClass {

 public static void main(String args[]) throws IOException {
   int i;
   double d;
   boolean b;
   String str;
   FileWriter fout = new FileWriter("test.txt");
   fout.write("string true false 1 2 3 4.12");
   fout.close();
   FileReader fin = new FileReader("Test.txt");
   Scanner src = new Scanner(fin);
    while (src.hasNext()) {
     if (src.hasNextInt()) {
       i = src.nextInt();
       System.out.println("int: " + i);
     } else if (src.hasNextDouble()) {
       d = src.nextDouble();
       System.out.println("double: " + d);
     } else if (src.hasNextBoolean()) {
       b = src.nextBoolean();
       System.out.println("boolean: " + b);
     } else {
       str = src.next();
       System.out.println("String: " + str);
     }
   }
   fin.close();
 }

}


 </source>
   
  
 
  



Scanner: hasNextLine()

   <source lang="java">

import java.io.File; import java.util.Scanner; public class Main {

 public static void main(String[] args) throws Exception{
   File file = new File("data.txt");
   Scanner scanner = new Scanner(file);
   while (scanner.hasNextLine()) {
     String line = scanner.nextLine();
     System.out.println(line);
   }
 }

}

 </source>
   
  
 
  



Scanner: next()

   <source lang="java">

/**

*Output:
*/

import java.util.Scanner; public class MainClass {

 public static void main(String args[]) {
   Scanner conin = new Scanner(System.in);
   int count = 0;
   double sum = 0.0;
   System.out.println("Enter numbers to average.");
   while (conin.hasNext()) {
     if (conin.hasNextDouble()) {
       sum += conin.nextDouble();
       count++;
     } else {
       String str = conin.next();
       if (str.equals("done"))
         break;
       else {
         System.out.println("Data format error.");
         return;
       }
     }
   }
   System.out.println("Average is " + sum / count);
 }

}


 </source>
   
  
 
  



Scanner: nextBoolean()

   <source lang="java">

/* String: string boolean: true boolean: false int: 1 int: 2 int: 3 double: 4.12

*/

import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.Scanner; public class MainClass {

 public static void main(String args[]) throws IOException {
   int i;
   double d;
   boolean b;
   String str;
   FileWriter fout = new FileWriter("test.txt");
   fout.write("string true false 1 2 3 4.12");
   fout.close();
   FileReader fin = new FileReader("Test.txt");
   Scanner src = new Scanner(fin);
    while (src.hasNext()) {
     if (src.hasNextInt()) {
       i = src.nextInt();
       System.out.println("int: " + i);
     } else if (src.hasNextDouble()) {
       d = src.nextDouble();
       System.out.println("double: " + d);
     } else if (src.hasNextBoolean()) {
       b = src.nextBoolean();
       System.out.println("boolean: " + b);
     } else {
       str = src.next();
       System.out.println("String: " + str);
     }
   }
   fin.close();
 }

}


 </source>
   
  
 
  



Scanner: nextDouble()

   <source lang="java">

/* String: string boolean: true boolean: false int: 1 int: 2 int: 3 double: 4.12

*/

import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.Scanner; public class MainClass {

 public static void main(String args[]) throws IOException {
   int i;
   double d;
   boolean b;
   String str;
   FileWriter fout = new FileWriter("test.txt");
   fout.write("string true false 1 2 3 4.12");
   fout.close();
   FileReader fin = new FileReader("Test.txt");
   Scanner src = new Scanner(fin);
    while (src.hasNext()) {
     if (src.hasNextInt()) {
       i = src.nextInt();
       System.out.println("int: " + i);
     } else if (src.hasNextDouble()) {
       d = src.nextDouble();
       System.out.println("double: " + d);
     } else if (src.hasNextBoolean()) {
       b = src.nextBoolean();
       System.out.println("boolean: " + b);
     } else {
       str = src.next();
       System.out.println("String: " + str);
     }
   }
   fin.close();
 }

}


 </source>
   
  
 
  



Scanner: nextInt()

   <source lang="java">

/* String: string boolean: true boolean: false int: 1 int: 2 int: 3 double: 4.12

*/

import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.Scanner; public class MainClass {

 public static void main(String args[]) throws IOException {
   int i;
   double d;
   boolean b;
   String str;
   FileWriter fout = new FileWriter("test.txt");
   fout.write("string true false 1 2 3 4.12");
   fout.close();
   FileReader fin = new FileReader("Test.txt");
   Scanner src = new Scanner(fin);
    while (src.hasNext()) {
     if (src.hasNextInt()) {
       i = src.nextInt();
       System.out.println("int: " + i);
     } else if (src.hasNextDouble()) {
       d = src.nextDouble();
       System.out.println("double: " + d);
     } else if (src.hasNextBoolean()) {
       b = src.nextBoolean();
       System.out.println("boolean: " + b);
     } else {
       str = src.next();
       System.out.println("String: " + str);
     }
   }
   fin.close();
 }

}


 </source>
   
  
 
  



Scanner: nextLine()

   <source lang="java">

import java.io.File; import java.util.Scanner; public class Main {

 public static void main(String[] args) throws Exception{
   File file = new File("data.txt");
   Scanner scanner = new Scanner(file);
   while (scanner.hasNextLine()) {
     String line = scanner.nextLine();
     System.out.println(line);
   }
 }

}

 </source>
   
  
 
  



Scanner: useDelimiter(String pattern)

   <source lang="java">

/*

*/

import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.Scanner; public class MainClass {

 public static void main(String args[]) throws IOException {
   int count = 0; 
   double sum = 0.0; 

   FileWriter fout = new FileWriter("test.txt"); 

   fout.write("2, 3.4,    5,6, 7.4, 9.1, 10.5, done"); 
   fout.close(); 

   FileReader fin = new FileReader("Test.txt"); 

   Scanner src = new Scanner(fin); 

   src.useDelimiter(", *"); 

   while(src.hasNext()) { 
     if(src.hasNextDouble()) { 
       sum += src.nextDouble(); 
       count++; 
     } 
     else { 
       String str = src.next();  
       if(str.equals("done")) break; 
       else { 
         System.out.println("File format error."); 
         return; 
       } 
     } 
   } 

   fin.close(); 
   System.out.println("Average is " + sum / count); 
 }

}


 </source>