package myMenuProject;
import java.util.*;
import java.util.Scanner;public class menu
{
public static void main(String args[])
{
Scanner input;
input=new Scanner(System.in);
double Array[],e;
int count;//length of array
count = input.nextInt();
Array=new double[count];
boolean finish=false;
int d=0;
int a;
a=input.nextInt();//takes in the option chosen from the menu
while (!finish)
{
System.out.println("\n1. Display the contents of the array \n"
+"2. Insert a double value into the array\n"
+"3. Calculate the sum total of the values in the array \n"
+"4. Search the array for a particular value\n"
+"5. Remove a particular double value from the array\n"
+"Please choose the number:");
if (a==0)
{
System.out.println("You can only choose the number from the menu!") ;//if n==0 or n>5 finish=true;
}
else if (a==1)
{
if (count==0)
{
System.out.println("Empty array!\n");
}
else
{
for(int b=0;b<count;b++)
{
System.out.println(Array[b]);
}
}
}
else if(a==2)
{
System.out.println("(1).define the length of the array:\n" );
System.out.println("Please input the length of array:");
count=input.nextInt(); //length of array
Array=new double[count];
System.out.println("(2).Insert a double value into the array\n");
System.out.println("Please fill in:");
System.out.print("Array[" + d +"] = ");
Array[d]=input.nextDouble();
Array[count]=d;
count=count+1;
}
else if(a==3)
{
double total =0.0;
while(d<count)
{ total= total + Array[d];
d++;
}
System.out.println("total is :"+ total +"\n");
}
else if(a==4)
{
System.out.print("\nPlease type value to search : ");
e =input.nextDouble();
while ( Array[d] != e)
{
d++;
}
if (Array[d] == e)
{
System.out.print("\n" +e+ " was found in Array " +d+"\n");
}
}
else if(a==5)
{
System.out.print("\nPlease type a value to remove : ");
e =input.nextDouble();
while ( Array[d] != e)
{
d++;
}
Array[d] = 0.0;
if (Array[d] == e)
{
System.out.print("\n" +e+ " was found in Array " +d+ " and has been deletedd\n");
}
}
}
}//main
}//class
琢磨很久,第一次自己写的程序,也不知道哪里有问题。刚开始学JAVA,还希望高人指点。
下面是部分运行结果:
4
51. Display the contents of the array
2. Insert a double value into the array
3. Calculate the sum total of the values in the array
4. Search the array for a particular value
5. Remove a particular double value from the array
Please choose the number:Please type a value to remove :
不知道是不是这样
Write a menu-driven Java program to maintain an array of doubles. The menu options should include: (a) Display the contents of the array
(b) Insert a double value into the array
(c) Calculate the sum total of the values in the array
(d) Search the array for a particular value
(e) Remove a particular double value from the array
Guidelines: Think of the array as a container of doubles. You must
decide and design the detailed workings of this container. How will your program know when the array is empty or full?
How will your program decide where in the array to insert
a new value?
When a search value is found, how is this reported to the
user?
What must happen in order to remove a particular element
from the array?
你是用什么运行的?
both of inputs cant make ur program get out of while loop,,,,,,,
suggestion add "break;" to stop the program
can u explain the functionality of ur program by the way?
input=new Scanner(System.in);
double Array[],e;
int count;//length of array
count = input.nextInt();//在这里,你要输入一个数
Array=new double[count];
boolean finish=false;
int d=0;
int a;
//在这里,你也要输入一个数
a=input.nextInt();//takes in the option chosen from the menu
你可以再试下,当运行后,出现一片空白的话,你随便输入两个数,看看有什么反应。
你的程序没有问题,可以运行。
import java.util.*;
import java.util.Scanner;public class test_hahaha
{
public static void main(String args[])
{
Scanner input;
input=new Scanner(System.in);
double Array[],e;
int count;//length of array
count = input.nextInt();
Array=new double[count];
boolean finish=false;
int d=0;
int a;
a=input.nextInt();//takes in the option chosen from the menu
while (a>-1)
{
System.out.println("\n1. Display the contents of the array \n"
+"2. Insert a double value into the array\n"
+"3. Calculate the sum total of the values in the array \n"
+"4. Search the array for a particular value\n"
+"5. Remove a particular double value from the array\n"
+"Please choose the number:");
if (a==0)
{
System.out.println("You can only choose the number from the menu!") ;//if n==0 or n>5 finish=true;
a=input.nextInt();
}
else if (a==1)
{
if (count==0)
{
System.out.println("Empty array!\n");
}
else
{
for(int b=0;b<count;b++)
{
System.out.println(Array[b]);
}
a=input.nextInt();
}
}
else if(a==2)
{
System.out.println("(1).define the length of the array:\n" );
System.out.println("Please input the length of array:");
count=input.nextInt(); //length of array
Array=new double[count];
System.out.println("(2).Insert a double value into the array\n");
System.out.println("Please fill in:");
System.out.print("Array[" + d +"] = ");
Array[d]=input.nextDouble();
Array[count-1]=d;
count=count+1;
a=input.nextInt();
i changed some, now the function 0 1 2 can work properly, if u like ,u can follow my way to modify ur program......
good luck man
要插入数据就只能在Array[0]中插入,后面就不可以了。
if(a==2)
{
System.out.println("(1).define the length of the array:\n" );
System.out.println("Please input the length of array:");
count=input.nextInt(); //length of array
Array=new double[count];
System.out.println("(2).Insert a double value into the array\n");
System.out.println("Please fill in:");
//我觉得应该是你这里的问题,既然是往数组里插数据,那么肯定不只一个,但是你这里并没有体现出是往数组里插数据,这里应该是一个循环
System.out.print("Array[" + d +"] = ");
Array[d]=input.nextDouble();
Array[count]=d;
count=count+1;
}