java问题。输出结果是0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 左对齐!最好用多维数组。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java问题。输出结果是0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 左对齐!最好用多维数组。相关的知识,希望对你有一定的参考价值。

0 1 2 3 4
5 6 7 8 9
10 11 12 13 14
15 16 17 18 19
每五个是一组,左对齐。晚上十二点之前告诉答案的多加悬赏二十分

参考技术A public class Change
public static void main(String[] args)
int Co=30; //排序到多少位?
int[][] Arr=new int[5][]; //定义不规则数组
int integer=0;//用来计数的

for (int i = 0; i < 5; i++)
Arr[i] =new int[Co/5];
for (int j = 0; j < Co/5; j++)
Arr[i][j]=integer++;


for (int i = 0; i < 5; i++)
for (int j = 0; j < Co/5; j++)
System.out.print(","+Arr[i][j]);

System.out.println();




效果

,0,1,2,3,4,5
,6,7,8,9,10,11
,12,13,14,15,16,17
,18,19,20,21,22,23
,24,25,26,27,28,29

写错了,,,特来更正
=========================================================================
public class Change
public static void main(String[] args)
int[][] Arr=new int[5][];
int Co=30;
int integer=0;

for (int i = 0; i < 5; i++)
Arr[i] =new int[Co/5];

for (int i = 0; i < Co/5; i++)
for (int j = 0; j < 5; j++)
Arr[j][i]=integer++;


for (int i = 0; i < Co/5; i++)
for (int j = 0; j < 5; j++)
System.out.print(","+Arr[j][i]);

System.out.println();




效果

,0,1,2,3,4
,5,6,7,8,9
,10,11,12,13,14
,15,16,17,18,19
,20,21,22,23,24
,25,26,27,28,29追问

没有后面的25 26 27 28 29
而且你能用多维数组做吗?你这个我没有学到呢,看不懂。

参考技术B public static void main(String[] args)
int[][] a = new int[4][5];
int[] b = 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19;
int k = b.length - 1;
for(int i = a.length - 1; i >= 0; i--)
for(int j = a[i].length - 1; j >= 0; j--)
a[i][j] = b[k];
k--;


for(int i = 0; i < a.length; i++)
for(int j = 0; j < a[i].length; j++)
System.out.print(a[i][j]+""+'\t'); // '\t'这个转义符就是左对齐的作用;

System.out.println();


参考技术C /**和前几楼的有点不一样,看看这个符合要求不,输出格式也可以用System.out.printf(..)*/
public class Test_1

/**
* @param args
*/
public static void main(String[] args)

int i, j, k = 0;
int[][] a = new int[4][5];
for (i = 0; i < 4; i++)
for (j = 0; j < 5; j++, k++)
a[i][j] = k;


for (i = 0; i < 4; i++)
System.out.println();
for (j = 0; j < 5; j++)
System.out.print(" " + a[i][j]);





参考技术D public class test
public static void main(String[] args)
int[] lit = new int[]0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19;
for (int i = 0 ; i < lit.length ; i++)
System.out.print(i+" ");
if((i+1)%5 == 0) System.out.println();


第5个回答  2011-04-10 public class Test
public static void main(String[] args)
int i, j;
int[][] arr = new int[4][5];

for(i=0; i<4; i++)
for(j=0; j<5; j++)
arr[i][j] = i * 5 + j;



for(i=0; i<4; i++)
for(j=0; j<5; j++)
System.out.print(arr[i][j] + " ");

System.out.println();


Java中float和double转换的问题

  为什么double转float不会出现数据误差,而float转double却误差如此之大?  

double d = 3.14;  
float f = (float)d;  
System.out.println(f);  
输出结果是:3.14;   
float f = 127.1f;  
double d = f;  
System.out.println(d);  
输出结果是:127.0999984741211   
为什么结果会是这样呢?  
如何避免这样的问题发生,让float转double能得到实际的数据?  
解决办法:现将float型转换为字符串型,再转换为精度更高的BigDecimal型,再将其转换为double型。
float f = 127.1f;  
BigDecimal b = new BigDecimal(String.valueOf(f));  
double d = b.doubleValue();  
System.out.println(d);  

 

/**   
  * 提供精確的加法運算   
  * @param args   
  */   
  public static double add(double v1, double v2) {   
  BigDecimal b1 = new BigDecimal(Double.toString(v1));   
  BigDecimal b2 = new BigDecimal(Double.toString(v2));   
  return b1.add(b2).doubleValue();   
  }   
    
  /**   
  * 提供了精確的減法運算   
  *   
  * @param args   
  */   
  public static double sub(double v1, double v2) {   
  BigDecimal b1 = new BigDecimal(Double.toString(v1));   
  BigDecimal b2 = new BigDecimal(Double.toString(v2));   
  return b1.subtract(b2).doubleValue();   
  }   
    
  /**   
  * 提供了精確的乘法運算   
  * @param args   
  */   
  public static double mul(double v1, double v2) {   
  BigDecimal b1 = new BigDecimal(Double.toString(v1));   
  BigDecimal b2 = new BigDecimal(Double.toString(v2));   
  return b1.multiply(b2).doubleValue();   
  }   
    
  /**   
  * 提供了(相對)精確的除法運算,當發生除不儘的情況時,精確到   
  * 小數點以後110位   
  * @param args   
  */   
  public static double div(double v1, double v2) {   
  return div(v1, v2, DEF_DIV_SCALE);   
  }   
    
  /**   
  * 提供了(相對)精確的除法運算,當發生除不儘的情況時,由scale參數指定   
  * 精度,以後的數字四捨五入   
  * @param args   
  */   
  public static double div(double v1, double v2, int scale) {   
  if (scale < 0) {   
  throw new IllegalArgumentException(   
  "The scale must be a positive integer or zero");   
  }   
  BigDecimal b1 = new BigDecimal(Double.toString(v1));   
  BigDecimal b2 = new BigDecimal(Double.toString(v2));   
  return b1.divide(b2, scale, BigDecimal.ROUND_HALF_UP).doubleValue();   
  }   
    
  /**   
  * 提供了精確的小數位四捨五入處理   
  * @param args   
  */   
    
  public static double round(double v, int scale) {   
  if (scale<0) {   
  throw new IllegalArgumentException("The scale must be a positive integer or zero");   
  }   
  BigDecimal b = new BigDecimal(Double.toString(v));   
  BigDecimal one = new BigDecimal("1");   
  return b.divide(one, scale, BigDecimal.ROUND_HALF_DOWN).doubleValue();   
  }   
    
  public static void main(String[] args) {   
  System.out.println(add(1.2321231, 3.7865765));   
  System.out.println(sub(6.4523423, 1.2321231));   
  System.out.println(mul(6.4523423, 3.7865765));   
  System.out.println(div(6.4523423, 3.7865765, 5));   
  System.out.println(round(3.7865765, 5));   
  }   
}
  JAVA中float为四个字节,double为八个字节,float--->double时候会补位,如果这里补位不出现误差的话应该可以实现。
你先将float类型数据包装成BigDecimal数据,然后调用其floatValue()方法可以实现。

 







以上是关于java问题。输出结果是0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 左对齐!最好用多维数组。的主要内容,如果未能解决你的问题,请参考以下文章

Java 版 C 语言经典 100 例(6 - 10)

c语言:对10个数组元素依次赋值为0,1,2,3,4,5,6,7,8,9,要求按逆序输出。

JAVA以金字塔形式输出 1 2 3 4 5 6

java 怎么交换同一数组里面的两部分元素的位置 像 {1,2,3,4,5,6} 最后结果是{4

D14-02 集合定义和基本操作

LeetCode--035--搜索插入位置(java)