标签: java.util.scanner

Java Scanner更改字符串

我正在使用Scanner从文本文件中读取一些基本文件.

前5个条目是这个 -

 0 MR2Spyder
1 Tundra
3 Echo
3 Yaris
4 ScionxB
4 ScionxD
Run Code Online (Sandbox Code Playgroud)

我正常实例化扫描仪,然后执行此操作 -

String line = scanner.nextLine();
System.out.println(line);
Run Code Online (Sandbox Code Playgroud)

然后我得到这个输出 -

ÿþ0 M R 2 S p y d e r 
Run Code Online (Sandbox Code Playgroud)

这对我来说没有意义 - Scanner类有问题吗?我应该使用BufferedReader吗?

java file-io java.util.scanner

1
推荐指数
1
解决办法
1488
查看次数

Java压缩Try/Catch代码异常

有没有办法压缩try/catch块代码?现在,我的代码在try/catch代码中有一个try/catch代码.

if(petType.equals("DOG")) {

  try {
    String name = input.next();
    String owner = input.next();
    double weight = input.nextDouble();
    SimpleDateFormat stdDate = new SimpleDateFormat("MM/dd/yy");

    try {
      Date vaccineDate = stdDate.parse(input.next());
      boolean fixed = input.nextBoolean();
      Dog x = new Dog(name,owner,weight,vaccineDate,fixed);
      object.addPet(x);
    } 
    catch (ParseException ex) {
      System.out.println("ERROR - Vaccine date " + input.next() + " is not in mm/dd/yy format!");
      input.nextLine();
    }

  }
  catch(NoSuchElementException ex) {
    System.out.println("ERROR - Missing fields. Skipping line " + lineNumber + "...");
    input.nextLine();
  }

}
Run Code Online (Sandbox Code Playgroud)

java exception-handling exception try-catch java.util.scanner

1
推荐指数
1
解决办法
519
查看次数

如果您将扫描仪作为参数传递,它的状态也会被传递吗?

我有一个扫描仪从文本文件中读取.当它到达文件中的某一行时,我希望能够调用一个方法,该方法将Scanner用作当前状态的参数 - 例如,我希望扫描程序(以及使用的文件)在它到底是什么线.

public static void createEntry(File list, int mediaTypeNum, String mediaType) throws FileNotFoundException {
    Scanner mediaReader = new Scanner(list);
    int occurrence = mediaTypeNum;
    int scannerCounter = 0;
    String match;
    String title = "";
    String director = "";
    while (mediaReader.hasNext() && scannerCounter < occurrence) {
        match = mediaReader.nextLine();
        if (match.equalsIgnoreCase(mediaType)) {
            scannerCounter++;
            if (scannerCounter == occurrence) {
                // based on type, create the media object
                // createMediaObject(list, mediaReader, mediaType)
                title = mediaReader.nextLine();
                director = mediaReader.nextLine();
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

createMediaObject()将有一个switch case,根据具体情况,Scanner将读取一些以下行,直到有一个空行.对于每种媒体类型,行数不同. …

java java.util.scanner

1
推荐指数
1
解决办法
1268
查看次数

Java:来自scanner.next()和.equals()的字符串比较失败

我有一个从扫描仪读取的输入,然后我将其与硬编码的字符串变量进行比较

String MOVE = input.next();  // I type in "MOVE N"
MOVE = MOVE.trim();
System.out.print(MOVE.equals("MOVE N"));
Run Code Online (Sandbox Code Playgroud)

这返回了false.我添加了trim()

String MOVE = input.next(); // I type in "MOVE N"
System.out.print(MOVE.equals("MOVE N"));
Run Code Online (Sandbox Code Playgroud)

还是假的.

有任何想法吗?谢谢

java string comparison input java.util.scanner

1
推荐指数
1
解决办法
2457
查看次数

循环不执行多次

我应该制作一个程序,不断接受桌面订单数据,并显示超过36英寸长,至少有一个抽屉的橡木书桌的所有相关信息.

import java.util.*;

public class MangMaxB 
{
    public static void main(String[] args)
    {
        Scanner input = new Scanner(System.in);
        char ans;
        int orderNum=0, length=0, width=0, numDrawer=0, price=1000;
        String name;

        System.out.print("Do you wish to enter Oak " +
                        "desk order data? (y/n)");
        ans = input.nextLine().charAt(0);

        while (ans != 'n')
        {  
            System.out.print("Enter customer name: ");
            name=input.nextLine();

            System.out.print("Enter order number: ");
            orderNum=input.nextInt();    

            System.out.print("Enter length and width of Oak desk" +
                        " separated by a space: ");
            length = input.nextInt();
            width = input.nextInt();

            System.out.print("Enter number …
Run Code Online (Sandbox Code Playgroud)

java iteration loops while-loop java.util.scanner

1
推荐指数
1
解决办法
254
查看次数

从文本文件Java中读取一行

我正在尝试使用BufferedReader和Scanner从文件中读取一行.我可以创造这两个没问题.我要做的是读一行,计算该行中逗号的数量,然后返回并抓住每个单独的项目.所以如果文件看起来像这样:

项目1,项目2,项目3,等等.

ITEM4,ITEM5,ITEM6等.

该程序将返回有四个逗号,然后返回并一次获得一个项目.它将重复下一行.返回逗号的数量对我的程序至关重要,否则,我只会使用Scanner.useDelimiter()方法.我也不知道如何返回到行的开头来抓取每个项目.

java bufferedreader java.util.scanner

1
推荐指数
1
解决办法
115
查看次数

线程主java.util.nosuchelementexception中的异常与新扫描程序(文件)

我的代码有问题,我总是得到这个错误:

Exception in thread "main" java.util.NoSuchElementException
    at java.util.Scanner.throwFor(Scanner.java:907)
    at java.util.Scanner.next(Scanner.java:1416)
    at audio.AudioSecrets.main(AudioSecrets.java:32)
Java Result: 1
Run Code Online (Sandbox Code Playgroud)

我的问题是这个ligne:

contents = new Scanner(file).useDelimiter("\\Z").next().toCharArray(); // 
Run Code Online (Sandbox Code Playgroud)

\\Z与之结合的分隔符.next()将读取输入,直到没有任何左边.

如何将文件输入我的程序,谢谢你的帮助

java next java.util.scanner

1
推荐指数
1
解决办法
952
查看次数

程序进入无限循环

该程序在循环中进入无限循环.拜托,有人可以告诉我为什么吗?

import java.util.Scanner;
public class program {
    public static void main(String[] pars) {
        System.out.println("Insert something.");
        Scanner read = new Scanner(System.in);
        String s = "";
        while(read.hasNext()) {
            System.out.println(read.next());
        }
        System.out.println("End of program");
    }
}
Run Code Online (Sandbox Code Playgroud)

java java.util.scanner

1
推荐指数
1
解决办法
89
查看次数

为什么扫描仪不会提示我输入?

我有这个方法:

public String scanInput()
{
    String input = "";
    Scanner skanner = new Scanner(System.in);
    while(skanner.hasNextLine()){
        input = skanner.nextLine();
    }
    skanner.close();
    return input;
}
Run Code Online (Sandbox Code Playgroud)

第一次运行此方法时,程序停止,并且在进行操作之前,系统会提示我在控制台中输入一个输入.但是,第二次运行该方法时,它会在没有暂停的情况下闪烁,并且我的程序陷入无限循环.

此方法中的哪一行使程序暂停,为什么它只在第一次暂停?

java console loops java.util.scanner

1
推荐指数
1
解决办法
868
查看次数

文件已读但不会打印内容

用户可以选择要扫描的文件,但是在运行时没有打印任何文件的内容,有什么帮助吗?

public void readVehicleData(){

    FileDialog fileBox = new FileDialog(mainWindow,"Open", FileDialog.LOAD);
    fileBox.setVisible(true);
    fileBox.setDirectory(".");
    String dataFile = fileBox.getFile();
    Scanner scanner = new Scanner(dataFile);
    while( scanner.hasNext() )
    {
       String lineOfInput = scanner.nextLine();
       System.out.println(lineOfInput);
    }     
    scanner.close();

}
Run Code Online (Sandbox Code Playgroud)

java java.util.scanner

1
推荐指数
1
解决办法
63
查看次数