jmu-Java-02基本语法-04-动态数组

题目:

根据输入的n,打印n行乘法口诀表。
需要使用二维字符串数组存储乘法口诀表的每一项,比如存放1*1=1.
为了保证程序中使用了二维数组,需在打印完乘法口诀表后使用Arrays.deepToString打印二维数组中的内容。

提醒:格式化输出可使用String.format或者System.out.printf

输出格式说明

  1. 每行末尾无空格。
  2. 每一项表达式之间(从第1个表达式的第1个字符算起到下一个表达式的首字符之间),共有包含7个字符。如2*1=2 2*2=4从第1个2开始到第二项`2*2=4首字母之间,总共有7个字符(包含空格,此例中包含2个空格)。

输入样例:

2
5

输出样例:

1*1=1
2*1=2  2*2=4
[[1*1=1], [2*1=2, 2*2=4]]
1*1=1
2*1=2  2*2=4
3*1=3  3*2=6  3*3=9
4*1=4  4*2=8  4*3=12 4*4=16
5*1=5  5*2=10 5*3=15 5*4=20 5*5=25
[[1*1=1], [2*1=2, 2*2=4], [3*1=3, 3*2=6, 3*3=9], [4*1=4, 4*2=8, 4*3=12, 4*4=16], [5*1=5, 5*2=10, 5*3=15, 5*4=20, 5*5=25]]

代码:
 1 import java.util.Scanner;
 2 import java.util.Arrays;
 3 public class Main {
 4     public static void main(String[] args) {
 5         Scanner sc = new Scanner(System.in);
 6         while(sc.hasNextInt()) {
 7             int n = sc.nextInt();
 8             String[][] arr = new String[n][];
 9             for(int i = 0;i < n;i++) {
10                 arr[i] = new String[i+1];
11                 for(int j = 0;j < i+1;j++) {
12                    arr[i][j] = (i+1)+"*"+(j+1)+"="+(i+1)*(j+1);
13                     if(j<i)
14                         System.out.printf("%-7s",arr[i][j]);
15                     else if(j==i)
16                         System.out.printf("%s",arr[i][j]);
17                 }
18                 System.out.println();
29             }
20             System.out.println(Arrays.deepToString(arr));
21         }
22     }
23 }
笔记:
1.格式限定每个表达式之间包含7个字符,因此想到了格式化输出,用“%-7s”控制字符串占七个字符位,负号表示左对齐2.动态创建二维数组:    int [][] arr ;     arr = new int [ 一维数 ][];    //动态创建第一维     for ( i = 0 ; i < 一维数 ; i++ ) {       arr [ i ] = new int [ 二维数 ];    //动态创建第二维       for( j=0 ; j < 二维数 ; j++) {         arr [i][j] = j;        }     }



原文地址:https://www.cnblogs.com/dotime/p/11621516.html

时间: 2024-10-13 13:46:45

jmu-Java-02基本语法-04-动态数组的相关文章

【8.0】关于Java和c的动态数组问题

1.java: java本身是没办法实现动态数组的,这个java本身不直接操作指针有关系[虽然我觉得理论上应该是和c一样,可以办到的,但java不提供,具体原因等知道了再补充].那么java的集合例如ArrayList集合这样的是如何实现"动态数组"的呢.其实原理是:ArrayList的底层是一个数组a[Object[] a = new Object[]], 如果需要改变ArrayList的大小,则丢弃ArrayList原先对a的引用, 然后new一个新的数组[ Object[] b

爪哇国新游记之十五----泛型动态数组类

import java.lang.reflect.Array; /** * 泛型动态数组类 * */ public class DynamicArray<T extends Object>{ private T[] arr; private Class<T> type; private int currCount; private static final int InitSize=2; public DynamicArray(Class<T> type){ this.

Java动态数组

其中java动态数组: Java动态数组是一种可以任意伸缩数组长度的对象,在Java中比较常用的是ArrayList,ArrayList是javaAPI中自带的java.util.ArrayList.下面介绍一下ArrayList作为Java动态数组的用法. 1.语法:add()是添加一个新的元素,remove()删除一个元素,size()获得ArrayList的长度.ArrayList的下标是从0开始. 2.示例代码 [java] view plaincopy package wang48.j

Java动态数组ArrayList

1.类结构: ·        java.lang.Object ·                         java.util.AbstractCollection<E> ·                                         java.util.AbstractList<E> ·                                                          java.util.ArrayList<E&

分享非常有用的Java程序 (关键代码)(四)---动态改变数组的大小

原文:分享非常有用的Java程序 (关键代码)(四)---动态改变数组的大小 /** * Reallocates an array with a new size, and copies the contents * * of the old array to the new array. * * @param oldArray the old array, to be reallocated. * * @param newSize the new array size. * * @return

Java 动态数组 深究

[Java心得总结六]Java容器中——Collection在前面自己总结的一篇博文中对Collection的框架结构做了整理,这里深究一下Java中list的实现方式 1.动态数组 In computer science, a dynamic array, growable array, resizable array, dynamic table, mutable array, or array list is a random access, variable-size list data

Java的动态数组:ArrayList的简单运用(增删改查)

小伙伴们!今天做个笔记分享给大家!这个是我创建的QQ交流群:315677448感兴趣的欢迎你的加入.废话不多说直接进入今天的主体 ArrayList就是传说中的动态数组! 咱们创建一个Test类,具体代码如下: package Case0000014; import java.util.ArrayList; public class test {     public static void main(String[] args) {         ArrayList lis = new Ar

Java程序猿学习C++之数组和动态数组

数组: #include <iostream> using namespace std; //模板函数 template <class T> void dump(T val) { cout << ">>>>" << __FUNCTION__ << endl;//内置的宏,打印当前函数的名字 cout << sizeof(val) << ":" <<

Java程序员学习C++之数组和动态数组

数组: #include <iostream> using namespace std; //模板函数 template <class T> void dump(T val) { cout << ">>>>" << __FUNCTION__ << endl;//内置的宏,打印当前函数的名字 cout << sizeof(val) << ":" <<

int[]里数的个数怎么由输入决定?-----动态数组。

java中如何创建动态数组?(摘自百度知道) Java动态数组是一种可以任意伸缩数组长度的对象,在Java中比较常用的是ArrayList,ArrayList是javaAPI中自带的java.util.ArrayList.下面介绍一下ArrayList作为Java动态数组的创建以及用法. 1.语法:add()是添加一个新的元素,remove()删除一个元素,size()获得ArrayList的长度.ArrayList的下标是从0开始.2.示例代码import java.util.ArrayLis