Java分配是向用户提示存储在数组中的十个整数,调用传递数组的方法,该方法将以原始顺序和反向顺序显示值。
公共类Module7 {
public static void main(String[] args) {
// prompt the user
System.out.println("Welcome to **yourNameHere**\'s 3 in 1 Programming Assignment (Arrays) for Module 7\n");
// create Scanner Object
Scanner input = new Scanner(System.in);
// loop until break
while(true){
// new lines for readability
System.out.print("\n");
// Prompt user for choices
System.out.print("\nEnter 1 Random Array \nEnter 2 Reverse Numbers\nEnter 3 Identical Arrays\nAny other input will exit");
int choice = input.nextInt();
// Consume newline left-over
input.nextLine();
// first feature
if(choice == 1){
System.out.println("You Selected Random Array");
// call the method of feature 1
feature1();
}
else if(choice == 2){
// Prompt user
System.out.println("You Selected Reverse Numbers\n");
feature2();
}
else if(choice == 3){
// Prompt user
System.out.println("You Selected Identical Arrays !");
// call the method of feature 3 providing the message, return value is the Letters message
feature3();
}
else{
// not 1 , 2 or 3
System.out.println("User didn't select 1,2 or 3. Exiting Program\n");
// release object
input.close();
// exit while with break statement
break;
}
} // end of while
} //结束主要
//在这里创建feature1()方法这里没有问题,这个工作
private static void feature1(){
int[] randomArray = new int[100];
for (int i = 0; i< randomArray.length; i++)
randomArray[i] = (int) (Math.random()*100);
for (int i=0; i<randomArray.length; i++) {
double currentMin = randomArray[i];
int currentMinIndex = i;
//not needed for just sorting
for (int j=i+1; j<randomArray.length;j++) {
if (currentMin > randomArray[j]) {
currentMin = randomArray[j];
currentMinIndex = j;
}
}
//swap list[i] with list[currentMinIndex] if necessary
if (currentMinIndex !=i) {
randomArray[currentMinIndex] = randomArray[i];
randomArray[i] = (int) currentMin;
}
}
for (int i=0; i<randomArray.length; i++) {
// print randomArray values
if (i % 10 == 0 && i > 0) {
System.out.println();
}
System.out.print(randomArray[i] + " ");
}
}
//在这里创建feature2()方法我似乎无法让它看起来像这里的示例。我无法将数字一次输入一个,其间有空格,然后显示它们相反。它仅在连续输入所有10个数字且没有空格时才有效。
private static void feature2(){
System.out.print("Please enter 10 numbers ");
java.util.Scanner input = new java.util.Scanner(System.in);
double[] numbers = new double[10];
System.out.print("\nEntered: ");
for (int i = 0; i < numbers.length; i++) {
int number = input.nextInt();
System.out.print("Reversed: ");
reverse(number);
}
}
public static void reverse(int number) {
while (number !=0) {
int remainder = number % 10;
System.out.print(remainder + " ");
number = number/10;
}
}
//在这里创建feature3()。 这是我的主要问题所在。我对阵列很糟糕,甚至不知道从哪里开始
private static void feature3()
`Java赋值是向用户提示存储在数组中的10个整数,调用传递数组的方法,该方法将以原始顺序和反向顺序显示值。
我已经尝试了所有我知道的方式(从阅读我的课本和观看讲座视频......)但我无法弄清楚如何编写这段代码。我的输出应该如下所示:
(编辑)抱歉,我会在回到家用电脑后发布我的电子邮件......顺便说一句,这是作业。我对数组和理解他们很糟糕。是否有一个网站教授&#34;数组用于假人&#34;?
答案 0 :(得分:1)
试试这个..
class Assignment{
private Integer[] reverse(Integer[] passtheArray){
//Use Your own logic Whatever you Want to implement and return Your array.
return null;
}
public static void main(String[] args){
Integer abc[] = new Integer[] {10, 15, 20, 25, 30};
Assignment obj = new Assignment();
obj.reverse(abc);
}
}
答案 1 :(得分:1)
由于您没有提供任何代码,我将假设您没有在项目上取得很大进展。看一下循环遍历Arrays。
对于一个简单的解决方案,您可以通过将数组设置为
来循环遍历数组int
但是,我建议你做一些关于如何使用for循环反转数组的研究,因为你似乎还没有很好地掌握它们。
如果您发布一些示例代码,我们可以为您提供更直接的提示。
答案 2 :(得分:1)
这是一种方法
public class swapnumber {
public static void main(String[] args)
{
Scanner s = new Scanner(System.in);
System.out.print("Enter number of elements you want in array:");
int n = s.nextInt();
int a[] = new int[n];
System.out.println("Enter all the elements:");
for (int i = 0; i < n; i++)
{
a[i] = s.nextInt();
}
swapNumber(a);
}
private static void swapNumber(int a[]) {
System.out.println("Original array" + Arrays.toString(a));
for(int i = 0; i < a.length / 2; i++)
{
int temp = a[i];
a[i] = a[a.length - i - 1];
a[a.length - i - 1] = temp;
}
System.out.println("Reversed array" + Arrays.toString(a));
}
}
答案 3 :(得分:1)
假设您已经将所有用户输入值存储在数组中,您可能需要创建两个for循环;一个从数组的开头迭代到结尾,另一个从数组的末尾迭代到开头。
for(int i = 0; i < array.length(); ++i) {
System.out.print(array[i]); //or put that in a string to output later
}
for (int j = array.length() - 1; j >= 0; ++j) {
System.out.print(array[j]); //or, again, put it in a string
}
知道Java中的数组从索引0开始并以索引等于给定数组的长度减1结束的关键,这就是倒计时循环开始和结束的原因。
希望能解决部分问题!
答案 4 :(得分:0)
使用此方法,之前曾提到如何反转数组here。
ArrayUtils.reverse(int[] array)