Tag: 输入

Java isInstance vs instanceOf运算符

整个generics的东西有点像扔我一个循环,更多的RTT。 Specificis? 啊,这里是要点: enum QueryHelper { query1, query2; static QueryHelper getQueryHelper (Class expectedReturn) { if (expectedReturn.isInstance (SomeRelatedClass.class)) return query1; else return query2; } } 然后我会这样称呼它: … QueryHelper helper = QueryHelper.getQueryHelper(SomeRelatedClass.class); … 这样我就可以在实际的帮助器中灵活地分配查询返回类型。 它做了一些铸造和对象创建。 我所看到的是,没有比赛,我应该以其他方式做到这一点吗? 或者整个想法是不是很糟糕? 真正的核心是我不明白class.isInstance和instanceOf运算符之间的区别? 我应该使用后者吗?

Java使用扫描仪输入密钥按下

我正在使用Java编程。 我正在尝试编写代码,该代码可以识别用户是否在基于控制台的程序中按下回车键。 我怎么能用java做到这一点。 有人告诉我,这可以使用Scanner或缓冲输入阅读器完成。 我不理解(或知道如何使用)缓冲输入阅读器。 我尝试使用扫描仪执行此操作,但在按两次输入后程序终止,但它不起作用 Scanner readinput = new Scanner(System.in); String enterkey = “Hola”; System.out.print(enterkey); enterkey = readinput.nextLine(); System.out.print(enterkey); if(enterkey == “”){ System.out.println(“It works!”); 谢谢 – 编辑 – 以下代码使用字符串的equals方法而不是== Scanner readinput = new Scanner(System.in); String enterkey = “Hola”; System.out.print(enterkey); enterkey = readinput.nextLine(); System.out.print(enterkey); if(enterkey.equals(“”)){ System.out.println(“It works!”); 如何做到这一点,以及使用缓冲输入阅读器做到这一点的优点是什么?

如何在java中获取键盘扫描代码?

我想编写一个应用程序,其中键绑定特定于键盘上键的位置,而不是它们映射到的字符。 例如,美国键盘上t和u之间的键应该执行特定的function,无论它是在美国还是Z,就像它在德国一样。 我认为这样做的方法是将键盘给出的实际扫描码提供给OS来表示按下的键。 我怎么能在java中这样做? 或者是否有另一种方法来实现相同的function?

过滤(搜索和替换)InputStream中的字节数组

我有一个InputStream,它将html文件作为输入参数。 我必须从输入流中获取字节。 我有一个字符串: “XYZ” 。 我想将此字符串转换为字节格式,并检查我从InputStream获取的字节序列中是否存在匹配项。 如果有的话,我必须用匹配序列替换匹配的其他字符串。 有没有人可以帮我这个? 我使用正则表达式来查找和替换。 但是找到并替换字节流,我不知道。 以前,我使用jsoup来解析html并替换字符串,但由于一些utf编码问题,当我这样做时,该文件似乎已损坏。 TL; DR:我的问题是: 是一种在Java中的原始InputStream中以字节格式查找和替换字符串的方法吗?

从Java中的文件中读取大量数据

我的文本文件包含以下forms的1 000 002数字: 123 456 1 2 3 4 5 6 …. 999999 100000 现在我需要读取该数据并将其分配给int变量(前两个数字)和其余所有( 1 000 000个数字)到数组int[] 。 这不是一项艰巨的任务,但是 – 这很糟糕。 我的第一次尝试是java.util.Scanner : Scanner stdin = new Scanner(new File(“./path”)); int n = stdin.nextInt(); int t = stdin.nextInt(); int array[] = new array[n]; for (int i = 0; i < n; i++) { array[i] = […]

何时会在JAVA的流中发生EOFException

我正在使用DataInputStream并有一个关于EOFExceptions的问题。 根据java文档: 表示在输入期间意外到达文件末尾或流末尾的信号。 此exception主要由数据输入流用于信号流的结束。 请注意,许多其他输入操作在流的末尾返回特殊值而不是抛出exception。 这是否意味着当生成EOFException时,流不会再次打开? 这是否意味着你永远不会期待它的更多数据? 如果输出流连接到输入流并且调用了outputstream.close(),输入流是否会收到EOFException或IOException? IOException被描述为: 表示发生了某种I / Oexception的信号。 此类是由失败或中断的I / O操作产生的一般exception类。 输出流上的close是否会在datainputstream端产生EOFException或IOException?

如何在while循环中使用.nextInt()和hasNextInt()

所以我希望我的程序读取一个输入,它在一行中有一些整数,例如: 1 1 2 然后它应该分别读取每个整数并以新行打印。 程序必须读取的整数数量不是事先给出的,所以我要做的是使用while循环,在没有更多的整数读取之后结束。 这是我写的代码: while (scan.hasNextInt()) { int x = scan.nextInt(); System.out.println(x); } 但它没有正常工作,因为循环永远不会结束,它只是希望用户输入更多的整数。 我在这里想念的是什么?

Java从单行读取多个int

我正在研究一个程序,我希望允许用户在提示时输入多个整数。 我曾尝试使用扫描仪,但我发现它只存储用户输入的第一个整数。 例如: 输入多个整数:1 3 5 扫描仪只能获得第一个整数1.是否可以从一行获得所有3个不同的整数并且以后能够使用它们? 这些整数是我需要根据用户输入操作的链表中数据的位置。 我无法发布我的源代码,但我想知道这是否可行。

线程“main”中的exceptionjava.util.NoSuchElementException:找不到行 – 使用scanner输入

我试图从链表中删除特定节点。 我试图调用我的方法removeNode,但是当我调用它来获取用户输入时它给了我这个错误。 任何关于如何解决这个问题的建议将不胜感激! Exception in thread “main” java.util.NoSuchElementException: No line found at java.util.Scanner.nextLine(Unknown Source) at LinkedList.removeNode(LinkedList.java:123) at fileIn.(fileIn.java:22) at fileIn.main(fileIn.java:13) LinkedList类: import java.util.Scanner; public class LinkedList { public LinkedListNode front; public LinkedList() { this.front = null; } public void insertBack(String data) { if(front == null){ front = new LinkedListNode(data); } else{ LinkedListNode newNode = new […]

如何循环用户输入直到输入整数?

我是Java的新手,我想继续询问用户输入,直到用户输入一个整数,这样就没有InputMismatchException了。 我已经尝试过这段代码,但是当我输入一个非整数值时,我仍然会遇到exception。 int getInt(String prompt){ System.out.print(prompt); Scanner sc = new Scanner(System.in); while(!sc.hasNextInt()){ System.out.println(“Enter a whole number.”); sc.nextInt(); } return sc.nextInt(); } 谢谢你的时间!