我正在使用以下基本功能,我从网上复制读取文本文件
public void read ()
{
File file = new File("/Users/MAK/Desktop/data.txt");
System.out.println("Start");
try
{
//
// Create a new Scanner object which will read the data from the
// file passed in. To check if there are more line to read from it
// we check by calling the scanner.hasNextLine() method. We then
// read line one by one till all line is read.
//
Scanner scanner = new Scanner(file);
int lineCount = 0;
if (scanner == null)
{
System.out.println("Null …Run Code Online (Sandbox Code Playgroud) 我只是在学习那种语言,并想知道Java程序员在以下情况下会有什么经验?
我想创建一个java程序,它将在指定的文件中搜索特定单词的所有实例.
您将如何解决这个问题,Java API是否提供了一个提供文件扫描功能的类,还是我必须编写自己的类才能执行此操作?
感谢任何输入,
Dom.
我想读取一个文本文件,其中字段数据由分隔符|分隔 (管道符号).
但有些意外发生了:
这是我的代码:
doScannerTest ("Y~2011~GT~Nepal~Ganesh~Tiwari~N", "~");
doScannerTest("Y|2011|GT|Nepal|Ganesh|Tiwari|N", "|");
private static void doScannerTest(String recordLine, String delim) {
java.util.Scanner lineScanner = new java.util.Scanner(recordLine);
lineScanner.useDelimiter(delim);
while (lineScanner.hasNext()) {
System.out.println(lineScanner.next());
}
}
Run Code Online (Sandbox Code Playgroud)
delim~工作正常,但是 打印recordLine中的所有字符.
为什么记录有delim | 不管用 ?我无法更改框架代码(使用Scanner)并使用String Split.
这是我写的一些基本代码的骨架,用于制作一个简单的游戏:
Scanner in = new Scanner(System.in);
String name;
String playing;
int age;
do {
System.out.println("Enter your name");
name = in.nextLine();
System.out.println("Enter your age");
age = in.nextInt();
System.out.println("Play again?");
playing = in.nextLine();
} while (true);
Run Code Online (Sandbox Code Playgroud)
代码无法按预期工作,例如,以下是代码的预期功能:
Enter your name
John
Enter your age
20
Play again?
Yes
Enter your name
Bill
...
Run Code Online (Sandbox Code Playgroud)
但是,再次阅读Play有一个问题,这是实际输出:
Enter your name
John
Enter your age
20
Play again?
Enter your name
Run Code Online (Sandbox Code Playgroud)
如您所见,"再次播放?"之前会再次显示"输入您的姓名".能够接受输入.当调试播放变量设置为""时,没有我可以看到的输入,我无法弄清楚正在消耗什么.任何帮助将不胜感激,谢谢!
我正在尝试使用Java中的Scanner类从配置文件中获取数据.文件的元素由空格分隔.但是,如果短语或元素应解释为字符串文字(包括空格),则双引号或单引号是元素周围的位置.这给出了如下所示的文件:
> R 120 Something AWord
> P 160 SomethingElse "A string literal"
Run Code Online (Sandbox Code Playgroud)
使用Java Scanner类时,默认情况下它仅用空格分隔.Scanner类具有useDelimiter()函数,该函数使用正则表达式为文本指定不同的分隔符.然而,我对正则表达式并不擅长,所以我不确定我是怎么做的.
我怎么能用空格分隔,除非有引号围绕着什么?
我正在为我的计算机科学课程做作业.任务是获取用户输入,删除所有元音,然后打印新语句.
我知道我可以使用这段代码轻松完成:
string.replaceAll("[aeiou](?!\\b)", "")
Run Code Online (Sandbox Code Playgroud)
但我的导师希望我使用嵌套的if和else if语句来实现结果.现在我正在使用这样的东西:
if(Character.isLetter('a')){
'do something'
}else if(Character.isLetter('e')){
'do something else'
Run Code Online (Sandbox Code Playgroud)
但我不知道该怎么里面做if和else if报表.我应该删除这封信吗?或者有更好的方法吗?
看到这是我的作业,我不想要完整的答案只是提示.谢谢!
我正在学习的那本书使用另一个库来阅读输入,所以它无法帮助我....
我看不出我的错误在哪里.算法:
重复
While i < 2*n
i+1
Write 1/(2*i+1) to the console.
Run Code Online (Sandbox Code Playgroud)
我的代码:
import java.util.Scanner;
public class Aufgabe420 {
public static void main (String[] args) {
int i, n;
System.out.println("Please enter a number!");
Scanner sc = new Scanner(System.in);
n = sc.nextInt();
System.out.println("n ="+n);
System.out.println("The while-loop starts!");
i = 3;
while (i < 2*n){
i += 1;
System.out.println(1/(2*i+1));
}
System.out.println("now with for-loop");
for (i = 3; i < (2*n); i+=1) {
System.out.println(1/(2*i+1));
}
}
}
Run Code Online (Sandbox Code Playgroud)
但尝试一下,结果是:请输入一个数字!五
n …
假设我需要继续询问用户,直到他进入double.
我做的是我使用了一个while循环并检查是否有异常.
如果有异常,我会去询问下一个输入.
double bal = 0;
Scanner sc = new Scanner(System.in);
while (true) {
try {
System.out.println("Enter the balance");
bal = sc.nextDouble();
break;
} catch (Exception e) {
System.out.println("That isn't a number");
}
}
System.out.println("Bal is " + bal);
sc.close();
Run Code Online (Sandbox Code Playgroud)
但是如果我输入一个非double,那么它不会要求下一个输入,继续打印以无限循环结束的那两行.
Enter the balance
XYZ
That isn't a number
Enter the balance
That isn't a number
Enter the balance
That isn't a number
Enter the balance
That isn't a number
....
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
遇到了Java中正则表达式匹配的奇怪行为.第一个输出命令true按预期打印,但是当打包相同的字符串时Scanner,输出为false.我究竟做错了什么?
public static void main(String[] args) {
Pattern p = Pattern.compile(" *\\[");
System.out.println(p.asPredicate().test("[]")); //true
Scanner s = new Scanner("[]");
System.out.println(s.hasNext(" *\\[")); //false
}
Run Code Online (Sandbox Code Playgroud) 我一直在教自己java,我一直坚持一个问题,无论我做什么似乎无法解决.我做了一些研究,但所提供的所有选项似乎都没有用.希望你们能够教我一些东西.
我有一个.txt文件,其中包含:
AccountName1:Password1
AccountName2:Password2
AccountName3:Password3
AccountName4:Password4
AccountName5:Password5
Run Code Online (Sandbox Code Playgroud)
然后读取文件的元素并将其插入List:
import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public abstract class AccountFileReader {
private static Scanner sc;
public static void main(String[] args) {
try {
// Enables ability to find file in any OS.
String file = File.separator + "some folder name"
+ File.seperator + "AccNamePw.txt";
File f = new File(file);
sc = new Scanner(f);
List<AccountInfo> accounts = new ArrayList<AccountInfo>();
String name = "";
String password = "";
while (sc.hasNext()){ …Run Code Online (Sandbox Code Playgroud)