Я пытался сделать эту проблему для своей школьной работы и для жизни меня не могу понять. Проблема заключается в следующем: напишите программу, которая читается в файле «work_example_1/babynames.txt» и создаст два файла: boynames.txt и girlnames.txt, разделяющие данные для мальчиков и девочек.Прочтите из 1 файла, чтобы создать 2 файла
Это код из Работали Пример 11 из wiley.com/go/javaexamples этой проблемы:
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class BabyNames
{
public static final double LIMIT = 50;
public static void main(String[] args) throws FileNotFoundException
{
Scanner in = new Scanner(new File("babynames.txt"));
RecordReader boys = new RecordReader(LIMIT);
RecordReader girls = new RecordReader(LIMIT);
while (boys.hasMore() || girls.hasMore())
{
int rank = in.nextInt();
System.out.print(rank + " ");
boys.process(in);
girls.process(in);
System.out.println();
}
in.close();
}
}
И это:
import java.util.Scanner;
public class RecordReader
{
private double total;
private double limit;
public RecordReader(double aLimit)
{
total = 0;
limit = aLimit;
}
public void process(Scanner in)
{
String name = in.next();
int count = in.nextInt();
double percent = in.nextDouble();
if (total < limit)
{
System.out.print(name + " ");
}
total = total + percent;
}
public boolean hasMore()
{
return total < limit;
}
}
Я создал babynames.txt и положить в в той же папке src, что и в файле .java, он появляется с файлом, который не найден, если я даю прямой путь к файлу с
Scanner in = new Scanner(new File("C:/Users/me/SkyDrive/Schoolwork/CIS150AB/Chapter 11.1/src/babynames.txt"));
он находит файл, но дает мне эту ошибку:
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at BabyNames.main(BabyNames.java:20)
Для меня это выглядит как эта ошибка из-за линии 20, где ИНТ ранг = in.nextInt(); и он ищет строку при поиске int, но это прямо с веб-сайта Wiley, поэтому я не уверен.
Любая помощь с этим была бы оценена, по-видимому, я не предназначен для онлайн-классов для Java. Следующий класс я беру в школу, когда есть один, который работает вокруг моего графика.
Возможно, вы ошиблись в файле 'babynames.txt'. Можете ли вы его предоставить? Кроме того, не отчаивайтесь от такой небольшой ошибки. Простой ввод-вывод в Java может быть немного сложным, но вы можете привыкнуть к нему с небольшой практикой. – sushain97
Проблема заключается в том, что он просит взять информацию о babynames с веб-сайта, а на веб-сайте Big Java: Early Objects 5th Edition, и он рассказывает вам получить текстовый файл из книги. Книга в моем классе - это Java Concepts: Early Objects 7-е издание. Поэтому я нашел файл babynames.txt онлайн, в текстовом файле должны быть самые популярные имена детей и рейтинг имени ребенка. Я приложу файл, который я нашел. https://skydrive.live.com/redir?resid=F544BAADAAC526E5!26857&authkey=!AMw7rMHPTO3T720 –
Ваш файл очень большой и немного громоздкий для работы. Общей методикой при исправлении ошибок в коде является то, что ваша проблема сводится к тому, что легче диагностировать и более уверенно будет работать. Итак, попробуйте создать новый текстовый файл с несколькими именами и посмотреть, как работает ваш код. – sushain97