多维数组在Java里如何创建多维数组?
这从第四个例子可以看出,它向我们演示了用花括号收集多个new表达式的能力: Integer[][] a4 = { { new Integer
(1), new Integer
(2)}, { new Integer
(3), new Integer
(4)}, { new Integer
(5), new Integer
(6)}, };第五个例子展示了如何逐渐构建非基本类型的对象数组: Integer[][] a5; a5 = new Integer[3][]; for(int i = 0; i i*j只是在Integer里置了一个有趣的值。
JAVA新手题解答定义两个数组,一个数组的数值按从大到小的顺序付
嗯,没有给太多的限制,没说时空复杂度什么的,最简单的方法就是把A数组的数值赋值给B数组,然后B数组进行排序就可以了,附上代码。
import java。util。Random;
public class Test {
private static int length = 10; //length可以改变
private int[] a = new int[length];
public Test(){
Random rand = new Random();
for(int i = 0; i < length; i++){
a[i] = xtInt(100); //随机赋值数组a
public int[] get(){
int[] b = new int[length];
for(int i = 0; i < length; i++){
b[i] = a[i]; //数组a把值赋给数组b
int temp = 0;
for(int i = 0; i < length - 1; i++){
for(int j = 0; j < length - 1 - i; j++){
if(b[j] < b[j + 1]){
temp = b[j];
b[j] = b[j + 1];
b[j + 1] = temp;
}
}
} //冒泡排序
return b;
public static void main(String[] args){
int[] res = (new Test())。
JAVA数组的输出
这个有规律,
对于数组的某一项 array[x][y];对应值为 |(x - y) % 7| + 1
写了一个, 你可以参考下,
public class Test{
public static void main(String[] args){
int array = new int[6][6];
for(int i=0;i<6;i++){
for(int j=0;j<6;j++){
array[i][j] = Math.abs((i-j)%7) + 1;
for(int i=0;i<6;i++){
for(int j=0;j<6;j++){
System.out.println(array[i][j]+" ");
}int a = 0;
int b = 0;
int []arr=new int[] {1,2,3,4,5,6};
for (int i = 0; i <6; i++)
{
if (a>0)
{
b = 6 - a;
}
for (int j = 0; j < 6; j++)
{
if (b>5)
{
b = 0;
}
System.out.print(arr[b]);
b++;
}
a += 1;
System.out.println();
}
public class Test
public static void main(String [] args)
int num = 6;
for(int i = 0; i < num; i++)
int j = num - i;
for(int k = 0; k < num; k++)
{
if(j >= num)
{
j = 0;
}
j++;
System.out.print(j + "\t");
}
System.out.println();
一维数组:
public static void main(String args[])
int [] array={1,2,3,4,5,6};
for(int i=0;i>-6;i--)
for(int j=i+6;j
System.out.print(array[j%6]+"\t");
System.out.println("");
}如果只是为了输出,不是说一维数组不行,只不过一维数组是一行,二维数组是一个面, 三位数组是一个立方体,四维.... 我是想象不出来了,x轴、y轴、z轴、时间轴,好像人最多认识到三维空间,呵呵,所以根据你的题意,你那就2维数组最合适啊,你这个图,是6行6列,可以认为这6行是数组的第一维,每一行里面还有6个元素,可以认为是第2维,Java里面多维数组,就是数组的数组 所以:
// 声明一个2维数组,并且为数组的元素非配了空间,第1维是6个小格,第2维6个小格
int[][] array = new int[6][6];
// 使用双层的for循环为数组元素赋值
int k = 1;
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array.length; j++) {
if(k == array.length) {
array[i][j] = k;
k = 1;
}
else {
array[i][j] = k++;
}
}
k = array[i][5];
// 使用双层的for循环 遍历 数组元素
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array.length; j++) {
System.out.print(array[i][j] + " ");
}
System.out.println(); // 换一行
}
//思路 输出--交换顺序, 在每次输出后那上次输出的数组 值依次向下移动一次,最后的一个移动到最前面去,
int a[]={1,2,3,4,5,6};
//k是你想输出的行数k<6就是输出6行
for(int k=0;k<6;k++){
for(int i=0;i
System.out.print(a[i]+" ");
}
//把数组完整输出一次后换行
System.out.println();
//交换顺序
//定义临时变量temp 并且初始值为数组的最后一个元素
int temp=a[a.length-1];
for(int i=a.length-1;i>0;i--){
//一次后面的一个元素值等于前面一个 第一个元素不在其中
a[i]=a[i-1];
}
//给第一个元素赋值
a[0]=temp;
}思路:循环打印一个一维数组,每次打印之后将数组向右移动一位:
public class C {
public static void main(String[] args) {
int[] a=new int[]{1,2,3,4,5,6};
for(int i=0;i<6;i++){
//下面的内循环用于打印一维数组
for(int j=0;j
System.out.print(a[j]);
}
System.out.println();//这里换行
move(a);//每次打印一维数组之后将数组右移动一位。
//下面这个方法是用来右移动数组的,移动规律很简单
public static void move(int[] a){
int temp=a[a.length-1];
for(int i=a.length-1;i>0;i--){
a[i]=a[i-1];
a[0]=temp;
}为什么没人用foreach(){}语句呢 ;
String []a=new String[5];
foreach(String b in a)
System.out.println(b);
就这么简单:
结果就是将数组中的元素逐个输出来int arr[]={1,2,3,4,5,6};
for(int i=0;i<6;i++){
System.out.print(arr[i]);
System.out.println("");
for(int i=0;i<6-1;i++){
for(int j=6-i-1;j<6;j++){
System.out.print(arr[j]);
}
for(int j=0;j<6-i-1;j++){
System.out.print(arr[j]);
}
System.out.println("");
这样也可以的,一道题有多种解题思路,建议用上面的那种|(x - y) % 7| + 1算法的,并且定义的是二维数组比较合理
int[] nums={1,2,3,4,5,6};
for (int i = -1; i < nums.length-1; i++) {
if(i==-1){
System.out.print(nums[nums.length-1]+" ");
}else{
System.out.print(nums[i]+" ");
System.exit(0);
这个你应该知道怎么做了吧。已经可以实现单个的。 后面的自己想吧。
先定义一个数组,然后for循环输出就可以了/* * 字符串左移,如abcdefghi左移4位后为efghiabcd */ public class ShiftLeft {static String reverStr(String s){int low = 0;int high = s.length()-1;char[] temp = new char[s.length()];while(low <= high){temp[low] = s.charAt(high);temp[high] = s.charAt(low);low++;high--;}return String.valueOf(temp);}/**** @param s 要移位的字符串* @param digits 向左移动的位数*/static String shift(String s,int digits){if(digits==0){return s;}else if(digits>0){digits = digits % s.length();String left = reverStr(s.substring(0, digits));String right = reverStr(s.substring(digits));String result = reverStr(left+right);return result;}else{//此时变为向右移digits位,即向左移动s.length() - digits位digits = -digits;digits = digits % s.length();return shift(s,s.length()-digits);}}public static void main(String[] args) {String s = "abcdefghi";System.out.println(shift(s,-3));}}加个循环测试下 看看是不是你要的效果。初学者编程交流 在论坛发帖 又问必答哟?mod=forumdisplay&fid=37可以 我写一个给你 扫等 这个规律是 123456 第二行把最后一个6移到最前面第三行把最后两个56移到最前面,一次类推。很简单
java 数组输出
给个例子你吧:
int[][] erWei = new int[][]{
{12,23,11,33},
{33,112,644,22433},
{2,34,99,100,22,22,22,1},
for(int i=0; i
for(int j=0; j
System.out.print(erWei[i][j]+",");
System.out.println();
}public class Java2
public static void main(String args[])
int[][] aMatrix=
{{1,1,1,1},{2,2,2,2},{3,3,3,3},{4,4,4,4},{5,5,5,5}};
int i=0;
int j=0;
for(i=0; i<5 ;i++)
{
for(j=0; j<4 ;j++)
{
System.out.print( aMatrix[i][j] +" ");
}
System.out.println();
}
第一个数组赋值有点错误,要用大括号括起来!
修改完后结果是:
1 1 1 1
2 2 2 2
3 3 3 3
4 4 4 4
5 5 5 5
不是很难,楼主你多看下书,自己也可以做的,呵呵,祝你天天开心!(1)aMatrix.length
(2)aMatrix[0].length
(3)aMatrix[i][j]....亏你想得出的
输出这个是因为你的java直接把你的student类tostring了..
你要把name和age分别输出才行
....首先,你的name和age最好改成是public的,或者你写个函数返回name和age也可以
然后你system.out.print(student[i].name);
system.out.print("\t");
system.out.print(age);
system.out.println();
顺便麻烦不要再把变量名定义的和类名一样了...神啊。谁知道你那个是变量还是类啊?
又是个没学过c的...public class java2
public static void main(String args[])
int [][] aMatrix=
{{1,1,1,1},{2,2,2,2},{3,3,3,3},{4,4,4,4},{5,5,5,5}};
int i=0;
int j=0;
for(i=0;i<5;i++)
{
for(j=0;j<4;j++)
{
System.out.print(aMatrix[i][j]+" ");//将其以5行4列对齐的格式输出
}
System.out.println();
}
我把你原来的稍微改动了一下,在二维数组中都地用{}来实现的,而不是()。程序分析:
以5行4列对齐的格式输出,在(1)处循环末尾有System.out.println();说明这里是换行,所以在(1)处循环次数肯定是5次,而aMatrix恰好一维长度为5,那么(1)就应该填上aMatrix.length
System.out.print( (3) +" ");这一句很明显是要输出每一行的元素,所以应该需要元素的具体下标,那么(2)就应该是遍历到每一个元素了,(2)就应该填上aMatrix[i].length,相应的(3)应该是aMatrix[i][j]