目标是使用java方法重载输入“任意数据类型”。获取值后,另一种方法将根据数据在不同数组中的数据类型对数据进行排序。所有数据输入并存储在数组中后,必须将其打印到表中。如: data(23) -这将把整数值存储到数组中 data(34.453) -这将双精度值存储到数组中 data("hello world") -这将把字符串值存储到数组中考虑到java中的数组大小是预定义的,该表不应打印空值或0值。打印时应排除所有空/0值。
data(23)
data(34.453)
data("hello world")
xzv2uavs1#
要解决这个问题:我们可以使用方法重载来捕获所有数据每个方法将使用不同的数据类型,但名称相同-data()应该找出每个数组的空值数。变量n将确定3个整数中最大的一个。n将是打印表时的测试表达式限制
public class overLoadEg {//array that will store integers static int[] intArray = new int[10];//array that will store doubles static double[] doubleArray = new double[10];//array that will store strings static String[] stringArray = new String[10]; static int i = 0, j = 0, k = 0, m, n; public static void main(String[] args) {//input values data(23); data(23.4554); data("Hello"); data("world"); data("help"); data(2355); data(52.56); data("val"); data("kkj"); data(34); data(3); data(2); data(4); data(5); data(6); data(7); data(8); display(); } public static void data(int val){ //add int value to int array intArray[i] = val; System.out.println("Int " + intArray[i] + " added to IntArray"); i++; } public static void data(Double val){ //add double value to double array doubleArray[j] = val; System.out.println("Double " + doubleArray[j] + " added to doubleArray"); j++; } public static void data(String val){ //add string value to stringarray stringArray[k] = val; System.out.println("String " + stringArray[k] + " added to stringArray"); k++; } public static void max(){ //To get the maximum number of values in each array int x, y, z; x = y = z = 0; //counting all the null values in each array and storing in x, y and z for(m=0;m<10;m++){ if(intArray[m] == 0){ ++x; } if(doubleArray[m] == 0){ ++y; } if(stringArray[m] == null){ ++z; } } //subtracting the null/0 count from the array size //this gives the active number of values in each array x = 10 - x; y = 10 - y; z = 10 - z; //comparing all 3 arrays and check which has the max number of values //the max numbe is stored in n if(x > y){ if(x > z){ n = x; } else{ n = z; } } else{ if(y > z){ n = y; } else{ n = z; } } } public static void display(){ //printing the arrays in table //All the null/0 values are excluded System.out.println("\n\nInt\tDouble\t\tString"); max(); for(m = 0; m < n; m++){ System.out.println(intArray[m] + "\t" + doubleArray[m] + "\t\t" + stringArray[m]); } System.out.println("Count : " + m); }}
public class overLoadEg {
//array that will store integers
static int[] intArray = new int[10];
//array that will store doubles
static double[] doubleArray = new double[10];
//array that will store strings
static String[] stringArray = new String[10];
static int i = 0, j = 0, k = 0, m, n;
public static void main(String[] args) {
//input values
data(23);
data(23.4554);
data("Hello");
data("world");
data("help");
data(2355);
data(52.56);
data("val");
data("kkj");
data(34);
data(3);
data(2);
data(4);
data(5);
data(6);
data(7);
data(8);
display();
}
public static void data(int val){
//add int value to int array
intArray[i] = val;
System.out.println("Int " + intArray[i] + " added to IntArray");
i++;
public static void data(Double val){
//add double value to double array
doubleArray[j] = val;
System.out.println("Double " + doubleArray[j] + " added to doubleArray");
j++;
public static void data(String val){
//add string value to stringarray
stringArray[k] = val;
System.out.println("String " + stringArray[k] + " added to stringArray");
k++;
public static void max(){
//To get the maximum number of values in each array
int x, y, z;
x = y = z = 0;
//counting all the null values in each array and storing in x, y and z
for(m=0;m<10;m++){
if(intArray[m] == 0){
++x;
if(doubleArray[m] == 0){
++y;
if(stringArray[m] == null){
++z;
//subtracting the null/0 count from the array size
//this gives the active number of values in each array
x = 10 - x;
y = 10 - y;
z = 10 - z;
//comparing all 3 arrays and check which has the max number of values
//the max numbe is stored in n
if(x > y){
if(x > z){
n = x;
else{
n = z;
if(y > z){
n = y;
public static void display(){
//printing the arrays in table
//All the null/0 values are excluded
System.out.println("\n\nInt\tDouble\t\tString");
max();
for(m = 0; m < n; m++){
System.out.println(intArray[m] + "\t" + doubleArray[m] + "\t\t" + stringArray[m]);
System.out.println("Count : " + m);
1条答案
按热度按时间xzv2uavs1#
要解决这个问题:
我们可以使用方法重载来捕获所有数据
每个方法将使用不同的数据类型,但名称相同-data()
应该找出每个数组的空值数。
变量n将确定3个整数中最大的一个。
n将是打印表时的测试表达式限制