1287 *
1288 * @return a match result for the last match operation
1289 * @throws IllegalStateException If no match result is available
1290 */
1291 public MatchResult match() {
1292 if (!matchValid)
1293 throw new IllegalStateException("No match result available");
1294 return matcher.toMatchResult();
1295 }
1296
1297 /**
1298 * <p>Returns the string representation of this <code>Scanner</code>. The
1299 * string representation of a <code>Scanner</code> contains information
1300 * that may be useful for debugging. The exact format is unspecified.
1301 *
1302 * @return The string representation of this scanner
1303 */
1304 public String toString() {
1305 StringBuilder sb = new StringBuilder();
1306 sb.append("java.util.Scanner");
1307 sb.append("[delimiters=" + delimPattern + "]");
1308 sb.append("[position=" + position + "]");
1309 sb.append("[match valid=" + matchValid + "]");
1310 sb.append("[need input=" + needInput + "]");
1311 sb.append("[source closed=" + sourceClosed + "]");
1312 sb.append("[skipped=" + skipped + "]");
1313 sb.append("[group separator=" + groupSeparator + "]");
1314 sb.append("[decimal separator=" + decimalSeparator + "]");
1315 sb.append("[positive prefix=" + positivePrefix + "]");
1316 sb.append("[negative prefix=" + negativePrefix + "]");
1317 sb.append("[positive suffix=" + positiveSuffix + "]");
1318 sb.append("[negative suffix=" + negativeSuffix + "]");
1319 sb.append("[NaN string=" + nanString + "]");
1320 sb.append("[infinity string=" + infinityString + "]");
1321 return sb.toString();
1322 }
1323
1324 /**
1325 * Returns true if this scanner has another token in its input.
1326 * This method may block while waiting for input to scan.
1327 * The scanner does not advance past any input.
1328 *
1329 * @return true if and only if this scanner has another token
1330 * @throws IllegalStateException if this scanner is closed
1331 * @see java.util.Iterator
1332 */
1333 public boolean hasNext() {
1334 ensureOpen();
1335 saveState();
1336 while (!sourceClosed) {
1337 if (hasTokenInBuffer())
1338 return revertState(true);
1339 readInput();
1340 }
|
1287 *
1288 * @return a match result for the last match operation
1289 * @throws IllegalStateException If no match result is available
1290 */
1291 public MatchResult match() {
1292 if (!matchValid)
1293 throw new IllegalStateException("No match result available");
1294 return matcher.toMatchResult();
1295 }
1296
1297 /**
1298 * <p>Returns the string representation of this <code>Scanner</code>. The
1299 * string representation of a <code>Scanner</code> contains information
1300 * that may be useful for debugging. The exact format is unspecified.
1301 *
1302 * @return The string representation of this scanner
1303 */
1304 public String toString() {
1305 StringBuilder sb = new StringBuilder();
1306 sb.append("java.util.Scanner");
1307 sb.append("[delimiters=").append(delimPattern).append(']');
1308 sb.append("[position=").append(position).append(']');
1309 sb.append("[match valid=").append(matchValid).append(']');
1310 sb.append("[need input=").append(needInput).append(']');
1311 sb.append("[source closed=").append(sourceClosed).append(']');
1312 sb.append("[skipped=").append(skipped).append(']');
1313 sb.append("[group separator=").append(groupSeparator).append(']');
1314 sb.append("[decimal separator=").append(decimalSeparator).append(']');
1315 sb.append("[positive prefix=").append(positivePrefix).append(']');
1316 sb.append("[negative prefix=").append(negativePrefix).append(']');
1317 sb.append("[positive suffix=").append(positiveSuffix).append(']');
1318 sb.append("[negative suffix=").append(negativeSuffix).append(']');
1319 sb.append("[NaN string=").append(nanString).append(']');
1320 sb.append("[infinity string=").append(infinityString).append(']');
1321 return sb.toString();
1322 }
1323
1324 /**
1325 * Returns true if this scanner has another token in its input.
1326 * This method may block while waiting for input to scan.
1327 * The scanner does not advance past any input.
1328 *
1329 * @return true if and only if this scanner has another token
1330 * @throws IllegalStateException if this scanner is closed
1331 * @see java.util.Iterator
1332 */
1333 public boolean hasNext() {
1334 ensureOpen();
1335 saveState();
1336 while (!sourceClosed) {
1337 if (hasTokenInBuffer())
1338 return revertState(true);
1339 readInput();
1340 }
|