導航:首頁 > 編程語言 > java二維數組的下標

java二維數組的下標

發布時間:2022-03-07 09:39:00

java中二維數組第一個下標為0

int[][] a=new int[0][0];
合法,不知道你那個serise是什麼值,但是根據你的意思應該是合法的.
java中數組的長度可以為零,這個可以應用於一些特定的情況,很多情況得到一個零長度的數組要比一個NULL的有用的多。
就像一個空的ArrayList比一個NUll好一樣,程序中不用專門去做NULL的判斷,直接拿來循環取值就行,雖然取不到.

⑵ java程序問題,為什麼結果總是不變(求二維數組的最大元素及其下標)

importjava.util.Scanner;

publicclassText4{
publicstaticvoidmain(String[]args){
Scannerinput=newScanner(System.in);
Locationloc=newLocation();
System.out.println("輸入二維數組的行數和列數:");
intr=input.nextInt();
intc=input.nextInt();
double[][]a=newdouble[r][c];
System.out.println("輸入二維數組:");
for(inti=0;i<a.length;i++){
for(intj=0;j<a[i].length;j++){
a[i][j]=input.nextDouble();
}
}

loc.locateLargetst(a);
System.out.print("最大元素及其下標是:"+loc.maxValue+"在("+loc.row+","+loc.column+")");
}
}

classLocation{
publicintrow;
publicintcolumn;
publicdoublemaxValue;
Location(){
}
Location(intr,intc,doublem){
row=r;
column=c;
maxValue=m;
}
publicvoidlocateLargetst(double[][]a){//不需要static,如果用了不能直接使用屬性row和column及maxValue
maxValue=a[0][0];//變數在class中聲明不要再聲明,再聲明就成了局部變數
//introw=0; //變數在class中聲明不要再聲明,再聲明就成了局部變數
//intcolumn=0; //變數在class中聲明不要再聲明,再聲明就成了局部變數
for(inti=0;i<a.length;i++){
for(intj=0;j<a[i].length;j++){
if(maxValue<a[i][j]){
row=i;
column=j;
maxValue=a[i][j];
}
}
}
//returnnewLocation(row,column,maxValue);//本方法不需要返回任何信息
}
}

⑶ 如何用java 返回二維數組的兩個下標

publicclassErWerArray{
publicstaticvoidmain(String[]args){
String[][]arr={{"a","b"},{"1","2","3"}};
StringindexOf=getXiaBiao(arr);
}
publicstaticStringgetXiaBiao(String[][]arr){
Stringstr="";
for(inti=0;i<arr.length;i++){
for(intj=0;j<arr[i].length;j++){
str+=arr[i]+","+arr[j];
}
}
returnstr;
}
}

⑷ java 二維數組的下標索引可不可以用變數表示啊

當然可以,不然難道用常量!

⑸ Java返回二維數組的兩個下標

publicclassErWerArray{
publicstaticvoidmain(String[]args){
String[][]arr={{"a","b"},{"1","2","3"}};
StringindexOf=getXiaBiao(arr);
}
publicstaticStringgetXiaBiao(String[][]arr){
Stringstr="";
for(inti=0;i<arr.length;i++){
for(intj=0;j<arr[i].length;j++){
str+=arr[i]+","+arr[j];
}
}
returnstr;
}
}

⑹ java中 二維數組一維存下標,一維都賦初值為一 怎麼弄

沒明白你說的什麼意思。
解釋下一維數組和二維數組。
一位數組,你可以理解為一行數(這個數可以是數字、字元、字元串,由你定義的數組類型而定),如int[] a = new int[3];
a={1,2,3];
這個數組就是一維數組,a[0]=1,a[1]=2,a[2]=3.
要注意的是,new a[x],開辟了x個空間,而我們用的時候,下標從0開始,直到x-1。
二維數組:
int[][] a = new int[3][3],這就相當於一個3x3矩陣,3行3列。

給它賦值,a={{1,2,3},{4,5,6},{7,8,9}}
那麼a[0][0]=1,a[0][1]=2,…
a[1][0]=4,a[1][1]=5,…
a[2][0]=7,a[2][1]=8,a[2][2]=9.
這時第a[m][n],m是行,n是列,注意他們是下標,從0到總行數-1,0到總列數-1.
初學者總是在下標這里糾結,搞不清下標和個數的分別,總是出現下標越界的錯誤。
一定要明白,我們有n個值,那麼我們的下標是0,1,2,……,n-1

⑺ java二維數組下標0就越界

e[i] = s.toCharArray(); //如果s是空串,將導致e[i]指向空數組,進而導致e[i][0]越界。
自己單步調試看一下s和e[i]的值變化。

⑻ java 找到二維數組指定元素的位置

Scanner sn=new Scanner(new File(path)).useDelimiter("\r\n"); 這行代碼的意思應該是指定分割符為「/r/n」吧,這個/r/n不一定是換行,用這個分割的數組元素全了空值,換個成這樣吧
Scanner sn=new Scanner(new File(path)).useDelimiter([\\s]");
這樣表示用空字元分割

還有find方法里的這行代碼
if (ss[i][j].equals(str))
因ss[i][j]的值可能是空的,直接調用equals的話可能報空指針異常
所以equals前加個if 判斷一下,如果是空就不用equals了

這是我改的代碼

package com.jhc.cglib.test;

import java.util.*;
import java.io.*;

public class ReaderFile {
public static void main(String[] args) {
ReaderFile rf = new ReaderFile();
String ss[][] = rf.getArray("C:/Users/Administrator/Desktop/111.txt");// 文件路徑
System.out.println(find(ss, "價位"));

}

public static int find(String[][] ss, String str) {
if(ss==null||ss.length==0)
return -1;
boolean flag = false;
for (int i = 0; i < ss.length; i++) {
for (int j = 0; j < ss[i].length; j++) {
if(ss[i][j]==null)
continue;
if (ss[i][j].equals(str)) {
flag = true;
System.out.print(i + 1 + "\t");
System.out.println(j + 1);
}
}
}
if (flag == false) {
return -1;
}
return -1;
}

public String[][] getArray(String path) {
String[][] x = new String[15][15];
try {
Scanner sn = new Scanner(new File(path)).useDelimiter("[\\s]");
int i = 0;
while (sn.hasNextLine()) {
String[] ss = sn.next().split(" ");
System.out.println(Arrays.toString(ss));
for (int j = 0; j < ss.length; j++) {
x[i][j] = ss[j];
}
++i;
}
} catch (Exception e) {
e.printStackTrace();
}
return x;
}
}

⑼ Java編程創建一個二維數組,隨機產生0-100之間的值,求出最大值及對應下標


publicstaticvoidmain(String[]args){
intarr[][]=newint[3][3];
for(int[]is:arr){
for(inti=0;i<is.length;i++){
is[i]=(int)(Math.random()*100);
}
}
intmax=arr[0][0];
intm=0;
intn=0;
for(intis=0;is<arr.length;is++){

for(inti=0;i<arr[is].length;i++){
System.out.println("a["+is+"]"+"["+i+"]="+arr[is][i]);
if(arr[is][i]>=max){
max=arr[is][i];
m=is;
n=i;
}
}
}
System.out.println("最大值為:"+max);
System.out.println("下標為:"+m+","+n);
}

⑽ Java編程,創建一個二維數組,隨機產生 0∼100之間的值,求出最大值及對應下標

需求:Java編程,創建一個二維數組,隨機產生 0~100之間的值,求出最大值及對應下標。

分析步驟:

A:創建一個二維數組

int[][] twoArr = new int[8][8];

B: 隨機產生0~100之間的值

Random random=new Random();

random.nextInt(100);

C:將隨機產生的值賦值給數組元素

運用for循環

D:求出最大值

假設twoArr[0][0]為最大值,遍歷數組,兩兩比較,把值大的賦值給max。同時標記x,y

E:輸出最大值,輸出x,y(遍歷的兩個局部變數)值

importjava.util.Random;
classTwoArr{
publicstaticvoidmain(String[]args){

intn=8;//這里也可以改成鍵盤錄入的形式

int[][]twoArr=newint[n][n];//定義二維數組

//將隨機產生的值賦值給數組元素
for(intx=0;x<twoArr.length;x++){
for(inty=0;y<twoArr[x].length;y++){
Randomrandom=newRandom();
twoArr[x][y]=random.nextInt(100);
}
}

//求最大值和索引
intmax=twoArr[0][0];
intindex1=0;
intindex2=0;

for(intx=1;x<twoArr.length;x++){
for(inty=0;y<twoArr[x].length;y++){
if(twoArr[x][y]>max){
max=twoArr[x][y];
index1=x;
index2=y;
}
}
}

//輸出
System.out.println("最大值是:"+max+",其下標為:["+index1+"]"+"["+index2+"]");
}
}
閱讀全文

與java二維數組的下標相關的資料

熱點內容
優信二手車解壓後過戶 瀏覽:62
Windows常用c編譯器 瀏覽:778
關於改善國家網路安全的行政命令 瀏覽:833
安卓如何下載網易荒野pc服 瀏覽:654
javainetaddress 瀏覽:104
蘋果4s固件下載完了怎麼解壓 瀏覽:1003
命令zpa 瀏覽:286
python編譯器小程序 瀏覽:945
在app上看視頻怎麼光線調暗 瀏覽:540
可以中文解壓的解壓軟體 瀏覽:593
安卓卸載組件應用怎麼安裝 瀏覽:913
使用面向對象編程的方式 瀏覽:340
程序員項目經理的年終總結範文 瀏覽:930
內衣的加密設計用來幹嘛的 瀏覽:433
淮安數據加密 瀏覽:292
魔高一丈指標源碼 瀏覽:982
松下php研究所 瀏覽:168
c回調java 瀏覽:401
夢幻端游長安地圖互通源碼 瀏覽:746
電腦本地文件如何上傳伺服器 瀏覽:314