All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jgroups.tests.CheckMonotonicallyIncreasingNumbers Maven / Gradle / Ivy

package org.jgroups.tests;

import java.io.*;

/**
 * Checks whether numbers in a stream are monotonically increasing, e.g.
 * 
 * 1
 * 2
 * 3
 * 4
 * 
* @author Bela Ban */ public class CheckMonotonicallyIncreasingNumbers { static int check(InputStream in) throws IOException { Reader r = new BufferedReader(new InputStreamReader(in)); StreamTokenizer st = new StreamTokenizer(r); int i, cnt=0, num=0, tmp, incorrect=0; boolean first_read=false; while(true) { i=st.nextToken(); if(i == StreamTokenizer.TT_EOF) break; tmp=(int)st.nval; if(!first_read) { first_read=true; } else { if(tmp != num +1) { System.err.println("Number read: " + tmp + ", previous number: " + num + " (lineno: " + st.lineno() + ")"); incorrect++; } } num=tmp; cnt++; if(cnt > 0 && cnt % 1000 == 0) System.out.println("read " + cnt + " numbers"); } return incorrect; } public static void main(String[] args) throws IOException { String file=null; for(int i=0; i < args.length; i++) { if(args[i].equals("-file")) { file=args[++i]; continue; } help(); return; } FileInputStream fis=new FileInputStream(file); int incorrect=CheckMonotonicallyIncreasingNumbers.check(fis); if(incorrect == 0) { System.out.println("OK, all numbers are monotonically increasing"); } else { System.err.println("Failure: there are " + incorrect + " incorrect numbers"); } fis.close(); } private static void help() { System.out.println("CheckMonotonicallyIncreasingNumbers [-help] [-file ]"); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy