Я работаю над домашним заданием, и я рядом, но у меня проблема. Я просто научился работать с пакетами в eclipse, поэтому у меня есть класс, который импортирует другой класс из пакета (я думаю, что я сказал это правильно) Главное приглашает пользователя ввести целое число от -100 до 100, и у меня есть проблема с его проверкой. Я знаю, что проблема заключается в том, где я импортирую. Я просто не уверен, как мне нужно идти, чтобы исправить это.Импорт? работа с пакетами
Это раздел моего основного кода. (Мой вопрос начинается с последней парой строк, если вы хотите, чтобы пропустить вперед)
import myUtils.util.Console;
public class ConsoleTestApp
{
public static void main(String args[])
{
// create the Console object
Console c = new Console();
// display a welcome message
c.println("Welcome to the Console Tester application");
c.println();
// int
c.println("Int Test");
int i = c.getIntWithinRange("Enter an integer between -100 and 100: ", -101, 101);
c.println();
В этой последней строке кода
int i = c.
я получаю искаженную черту под I, который говорит мне, что я не использую локальная переменная, поэтому я не уверен, что именно фиксирует это в этой ситуации, так как я пытаюсь использовать ее в другом классе. Нужно ли создавать объект?
У меня есть класс под названием Console, который находится в другом пакете, который, я считаю, был правильно импортирован. вот код, который я застрял в моем классе консоли.
package myUtils.util;
import java.util.Scanner;
public class Console
{
Scanner sc = new Scanner(System.in);
public void print(String s)
{
System.out.println();
}
public void println(String s)
{
System.out.println();
}
public void println()
{
System.out.println();
}
public int getIntWithinRange(String prompt, int min, int max)
{
int i = 0;
boolean isValid = false;
while (isValid == false)
{
System.out.println(prompt);
if (sc.hasNextInt())
{
i = sc.nextInt();
if (i < min)
{
System.out.println("Error! Please enter an integer greater than -100");
}
else if (i > max)
{
System.out.println("Error! Please enter an integer less than 100");
}
else
isValid = true;
}
else
System.out.println("Error! Invalid number value");
sc.nextLine();
}
// return the int
return i;
}
public double getDoubleWithinRange(String prompt, double min, double max)
{
int d = 0 ;
boolean isValid = false;
while (isValid == false)
{
System.out.println(prompt);
if (sc.hasNextInt())
{
//if user chooses menu option less than 1 the program will print an error message
d = sc.nextInt();
if (d < min)
{
System.out.println("Error! Please select menu option 1, 2, or 3");
}
//if the user chooses a menu option greater than 3 the program will print an error
else if (d > max)
{
System.out.println("Error! Please select menu option 1, 2, or 3");
}
//if the option is between 1 and 3 the menu option is valid
else
isValid = true;
}
else
System.out.println("Error! Invalid number value");
sc.nextLine();
}
// return the int
return d;
}
public String getRequiredString(String prompt)
{
return prompt;
}
public String getChoiceString(String prompt, String s1, String s2)
{
return s2;
}
public int getInt(String prompt)
{
return 0;
}
}
, когда я запускаю это я получаю мой последний отпечаток, который является недопустимым значением числа. Я не импортирую код из основного метода на другой консоли правильно?
Вероятно, несвязанные, но 'println (String s)' и 'print (String s)' ничего не делают с их аргументом. –
@Mike Samuel Я только начал писать код и получил некоторые спецификации на то, что мне нужно, поэтому я прыгнул в него. Не самый чистый способ писать, но я хотел решить каждый метод в самом простом и сложном порядке. –