如何在java中对不同的数据类型进行排序并将它们打印在一个表中? (使用方法重载)
Posted
技术标签:
【中文标题】如何在java中对不同的数据类型进行排序并将它们打印在一个表中? (使用方法重载)【英文标题】:How to sort different data types in java and print them in a table ? (using method overloading) 【发布时间】:2021-09-18 20:18:40 【问题描述】:目标是使用 java 方法重载输入“任何数据类型”。取值后,另一种方法将根据数据在不同数组中的数据类型对数据进行排序。将所有数据输入并存储在数组中后,必须将其打印到表格中。
例如:
data(23)
- 这会将整数值存储到数组中
data(34.453)
- 这会将双精度值存储到数组中
data("hello world")
- 这会将字符串值存储到数组中
考虑到 java 中的数组大小是预定义的,表不应该打印 null 或 0 值。打印时应排除所有 null/0 值。
【问题讨论】:
【参考方案1】:解决这个问题:
我们可以使用方法重载来捕获所有数据 每个方法将使用不同的数据类型,但具有相同的名称 - 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);
【讨论】:
以上是关于如何在java中对不同的数据类型进行排序并将它们打印在一个表中? (使用方法重载)的主要内容,如果未能解决你的问题,请参考以下文章