私は宿題に取り組んでいます。私は近くにいますが、問題があります。私はちょうどパッケージから作業する方法を学んだので、パッケージから別のクラスをインポートしているクラスがあります(私はそれが正しいと思います) メインは-100〜100の整数を入力するように促し、それを検証する問題。私は問題が私が輸入している場所であることを知っている私はそれを修正するために行く必要がある方向を確信しています。インポートしますか?パッケージを使って作業する
これは私のメインコードのセクションです。私は私の下に波線を取得するコード
int i = c.
の最後の行では
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();
を私は使用していない私に語っている(あなたが先にスキップしたい場合は、私の問題は、最後の数行から始まります)ローカル変数を使用しているので、別のクラスで使用しようとしているので、この状況で何が正確に修正されているのか分かりません。オブジェクトを作成する必要はありますか?
私は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私はちょうどコードを書くようになり、私はそれに飛び込んだので、私は必要なものについていくつかの仕様を与えられました。一番きれいな書き方ではありませんが、私は一番簡単な方法で各方法に取り組みたいと思っていました。 –