Java - 数据超出限制时打印消息? [英] Java - Printing a message when data exceeds limit?

查看:133
本文介绍了Java - 数据超出限制时打印消息?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的代码正常运行,它不是很漂亮,但它的工作就是这样:)现在我想编写一段代码,如果文本文件中有19个或更多数据,则会停止加载数据然后显示一条消息,说明无效输入。我不知道如何做到这一点,所以任何帮助将不胜感激。

I've got my code working, it's not pretty but it doe's the job :) Now I want to write a piece of code that stops the data from being loaded if there is 19 or more pieces of data in the text file and then display a message saying Invalid input for example. I'm not sure how to do this so any help would be appreciated.

package stackandqueue;

import java.util.*;
import java.util.Stack;
import java.util.Queue;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.LinkedList;
import java.util.StringTokenizer;
import java.util.Arrays;

public class StackAndQueue {

    public static void main(String[] args) throws IOException {
        // Create three empty stacks of Bays.
        // Bay 1 linked list
        Queue<String> bayoneStack = new LinkedList<String>();
        // Bay 2 linkd list.
        Queue<String> baytwoStack = new LinkedList<String>();
        // Bay 3 linked list
        Queue<String> baythreeStack = new LinkedList<String>();

        Queue<String> bayloadStack = new LinkedList<String>();

        System.out.println("***********************************************");

        // Open and read text file
        String inputFileName = "PodData4.txt";
        FileReader fileReader = new FileReader("PodData4.txt");

        // Create the FileReader object
        try (BufferedReader br = new BufferedReader(fileReader);) {
            // Sort the data into the relevant linked list by type F, T or P.
            String[] strings = br.readLine().split(",");
            for (String str : strings) {
                switch (str.charAt(0)) {
                case 'F':
                    bayoneStack.add(str);
                    break;
                case 'T':
                    baytwoStack.add(str);
                    break;
                case 'P':
                    baythreeStack.add(str);
                    break;
                default:
                    // In-case of invalid input

                }

                System.out.println(str);

            }
        } catch (IOException ex) {
            // handle exception;
        } finally {
            fileReader.close();
        }
        // Prints out the linked list stacks showing all Bays.
        System.out.println("***********************************************");

        System.out.println("Bay 1:Food: " + bayoneStack.toString());
        System.out.println("Bay 2:Technical: " + baytwoStack.toString());
        System.out.println("Bay 3:Personal: " + baythreeStack.toString());

    }
}


推荐答案

首先使用条件语句检查总长度。类似

Just check the overall length first with a conditional statement. Something like

String test = br.readLine();
if (test.length() < 19) {
    String[] strings = test.split(",");
    //continue operations with string input
}
else {
    //change this to what you want the error to read.
    System.out.println("Invalid input.");
}

请注意,我更改了字符串数组拆分测试字符串而不是 br.readLine()

Note that I changed your strings array to split the test string instead of br.readLine()

这篇关于Java - 数据超出限制时打印消息?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆