Новичок здесь, я делаю программу, которая производит случайное порядковое число с соответствующим суффиксом
(I.E. 1st, 2nd, 3rd ...) Я не могу получить randomInt(); работать. Я получаю следующие ошибки:Случайная ошибка целого числа в Java
.\Random.java:6: error: class RandomInteger is public, should be declared in a
file named RandomInteger.java
public final class RandomInteger {
^
RandomNumSuffix.java:8: error: cannot access Random
Random rand = new Random();
^
bad source file: .\Random.java
file does not contain class Random
Please remove or make sure it appears in the correct subdirectory of the
sourcepath.
Я искал в Google, и переполнение стека, чтобы найти решение, но безрезультатно. Я даже скопировал
и скомпилировал другие программы из Интернета, которые используют randomInt(); и все они производят ту же ошибку. Можете ли вы сказать мне, что я делаю неправильно? Вот код моей программы:
import java.util.*;
class RandNumSuffix
{
public static void main(String [] args)
{
Scanner scan = new Scanner(System.in);
Random rand = new Random();
String numSuffix = "";
String answer = "";
String repeat = "";
int x;
while(repeat.equalsIgnoreCase("yes")||repeat.equalsIgnoreCase("y"))
{
x = rand.nextInt(1000000)+1;
if (x == 1)
{
numSuffix = "st";
answer = x + numSuffix + ", ";
System.out.print(answer);
}
if (x == 2)
{
numSuffix = "nd";
answer = x + numSuffix + ", ";
System.out.print(answer);
}
if (x == 3)
{
numSuffix = "rd";
answer = x + numSuffix + ", ";
System.out.print(answer);
}
if (x > 20 && x < 101 && x%10==1)
{
numSuffix = "st";
answer = x + numSuffix + ", ";
System.out.print(answer);
}
if (x > 20 && x < 101 && x%10==2)
{
numSuffix = "nd";
answer = x + numSuffix + ", ";
System.out.print(answer);
}
if (x > 20 && x < 101 && x%10==3)
{
numSuffix = "rd";
answer = x + numSuffix + ", ";
System.out.print(answer);
}
if (x>100 && x%10==1 && x%100!=11)
{
numSuffix = "st";
answer = x + numSuffix + ", ";
System.out.print(answer);
}
if (x>100 && x%10==2 && x%100!=12)
{
numSuffix = "nd";
answer = x + numSuffix + ", ";
System.out.print(answer);
}
if (x>100 && x%10==3 && x%100!=13)
{
numSuffix = "rd";
answer = x + numSuffix + ", ";
System.out.print(answer);
}
else
{
if (answer == "")
{
numSuffix = "th";
System.out.print(x + numSuffix + ", ");
}
}
answer = "";
System.out.println("Would you like to generate another number?");
answer = scan.nextLine();
}
}
}
Также критика в моей программе приветствуется. Благодарю.
* ошибка: класс RandomInteger является общедоступным, должен быть объявлен в файле с именем RandomInteger.java * Это говорит все. Имя файла и имя открытого класса должны совпадать с –
Слишком много непоследовательности в вашем вопросе: файл Random.java, класс RandomInteger, но исходный код кода относится к классу RandNumSuffix? Пожалуйста, уделите время, чтобы очистить все правильно ... –