これを行う簡単な方法はないようですが、これは私がこれまでに行ったことであり、誰かがそれを修正して機能させることができれば、それは素晴らしいことです. 「newarray [e] = array [i].intValue ();」で 「"intValue" という名前のメソッドが "java.lang.Object" 型に見つかりませんでした」というエラーが表示されます。ヘルプ!
/*
Description: A game that displays digits 0-9 and asks the user for a number N.
It then reverses the first N numbers of the sequence. It continues this until
all of the numbers are in order.
numbers
*/
import hsa.Console;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Arrays;
public class ReversalGame3test
{
static Console c;
public static void main (String[] args)
{
c = new Console ();
c.println ("3. REVERSAL GAME");
c.println ("");
c.println ("Displayed below are the digits 0-9 in random order. You must then enter a");
c.println ("number N after which the computer will reverse the first N numbers in the");
c.println ("sequence. The goal of this game is to sort all of the numbers in the fewest");
c.println ("number of reversals.");
c.println (""); //introduction
List numbers = new ArrayList ();
numbers.add ("0");
numbers.add ("1");
numbers.add ("2");
numbers.add ("3");
numbers.add ("4");
numbers.add ("5");
numbers.add ("6");
numbers.add ("7");
numbers.add ("8");
numbers.add ("9");
Collections.shuffle (numbers);
Object[] array = numbers.toArray (new String [10]); // declares + shuffles numbers and converts them to array
c.print ("Random Order: ");
for (int i = 0 ; i < 10 ; i++)
{
c.print ((array [i]) + " ");
}
c.println ("");
boolean check = false;
boolean check2 = false;
String NS;
int N = 0;
int count = 0;
int e = -1;
int[] newarray = new int [10];
//INPUT
do
{
c.print ("Enter a number: ");
NS = c.readString ();
count += 1;
check = isInteger (NS);
if (check == true)
{
N = Integer.parseInt (NS);
if (N < 1 || N > 10)
{
check = false;
c.println ("ERROR - INPUT NOT VALID");
c.println ("");
}
else
{
c.print ("Next Order: ");
for (int i = N - 1 ; i > -1 ; i--)
{
e += 1;
newarray [e] = array [i].intValue ();
c.print ((newarray [e]) + " ");
}
for (int i = N ; i < 10 ; i++)
{
e += 1;
newarray [e] = array [i].intValue ();
c.print ((newarray [e]) + " ");
}
check2 = sorted (newarray);
} // rearranges numbers if valid
} // checks if N is valid number
}
while (check == false);
} // main method
public static boolean isInteger (String input)
{
try
{
Integer.parseInt (input);
return true;
}
catch (NumberFormatException nfe)
{
return false;
}
} //isInteger method
public static boolean sorted (int array[])
{
boolean isSorted = false;
for (int i = 0 ; i < 10 ; i++)
{
if (array [i] < array [i + 1])
{
isSorted = true;
}
else if (array [i] > array [i + 1])
{
isSorted = true;
}
else
isSorted = false;
if (isSorted != true)
return isSorted;
}
return isSorted;
} // sorted method
}