java - how can I get the only entered values from an array?
问题描述
I am trying to make a program to print a multiplication table in which the user enters the number of table he wants (for example 3) , also enters the values of table he wants( 2,6,5 (random/unordered)), also enters the range of multiplier. my code is printing all the elements present in the array. please help me. ThankYou.
import java.util.Scanner;
class Addition { public static void main(String[] args) {
int j=0,k=0;
Scanner obj=new Scanner(System.in);
int arr[]=new int[32];
System.out.println("how many multiplication table do you want to print ? ");
int n=obj.nextInt();
for(int i=1;i<=n;i++)
{
System.out.println("Enter number whos table you want ");
for(j=1;j<=n;j++)
{
arr[j]=obj.nextInt(); break;
}
}
System.out.println("Enter range of multiplier");
int range=obj.nextInt();
for(int l=0;l<=arr[j];l++)
{
for(k=1;k<=range;k++)
{
System.out.println(" "+l+" * "+k+" = "+l*k);
}
}
}
}
the output I want will look somewhat like this( how many multiplication table do you want to print ? =3 and on entering numbers 2,5,6 and range=4)
2x1=2
2x2=4
2x3=6
2x4=8
5x1=5
5x2=10
5x3=15
5x4=20
6x1=6
6x2=12
6x3=18
6x4=24
解决方案
我做了一些调整来完成我认为你想要完成的事情。您可以使用如下所示的数组列表:
class Addition{
public static void main(String[] args) {
int j=0,k=0;
Scanner obj=new Scanner(System.in);
ArrayList<Integer> typeMultiplicationTable = new ArrayList<Integer>();
//used Arraylist instead of an array
//int arr[]=new int[32];
System.out.println("how many table? ");
int n=obj.nextInt();
for(int i=1;i<=n;i++)
{
System.out.println("Enter number whos table you want ");
for(j=0;j<=n;j++)
{
typeMultiplicationTable.add(obj.nextInt());
break;
//arr[j]=obj.nextInt(); break;
}
}
System.out.println("Enter range");
int range=obj.nextInt();
for(int l=0;l<=typeMultiplicationTable.size()-1;l++)
{
for(k=0;k<=range;k++)
{
System.out.println(" "+typeMultiplicationTable.get(l)+" * "+k+" = "+typeMultiplicationTable.get(l)*k);
}
}
}}
如果你最终使用了一个数组,你可以按如下方式实现它——我最终删除了一个 for 循环。
class Addition{
public static void main(String[] args) {
Scanner obj=new Scanner(System.in);
System.out.println("how many table? ");
int n=obj.nextInt();
int arr[]=new int[n];
for(int j=0;j<=arr.length-1;j++)
{
System.out.println("Enter number whos table you want ");
arr[j]=obj.nextInt();
}
System.out.println("Enter range");
int range=obj.nextInt();
for(int l=0;l<=arr.length-1;l++)
{
for(int k=0;k<=range;k++)
{
System.out.println(" "+arr[l]+" * "+k+" = "+arr[l]*k);
}
}
}}
推荐阅读
- python - 为训练标签创建数组以提供给 Keras 的快速直接方法
- ios - Firebase 测试实验室显示错误“无法加载目录”
- python - 使用 ddlparse 解析 ddl 语句的 DEFAULT 参数
- python - 如何在熊猫中合并两个数据框?
- python - 如何在 Django 中获取基于位置的管理视图?
- haskell - 仅保留在列表理解中出现多次的值
- spring-boot - 处理微服务中的全局设置
- width - 如何更改 seaborn 联合图线宽?
- asp.net-core - 如何使用“AsNoTracking”方法在 EF Core 中加载实体并结合显式加载相关实体
- sql-server - 如何对xml中的不同元素节点求和以在另一个节点中赋值