我得到了例如二維表格3x2,其中所有元素都有4x減號:「----」。如果我在程序中編寫例如32.第一個數字告訴我們它是什麼數字,第二個數字是第幾個數字。在二維表中添加數字
它會讓我的表是這樣的(32):
---- ---- 33-- ----
---- ---- -> ---- ----
---- ---- ---- ----
然後,當我們寫另一個(53):它會檢查表[0] [0],如果它是空的,如果它是如果兩者都是空的,它將被檢查table [1] [0]和table [0] [1],在這種情況下table [0] [1]將選擇表號碼較小的表。
33-- ---- 33-- 555-
---- ---- -> ---- ----
---- ---- ---- ----
那裏,我們可以把其它號碼:
33-- 555- 33-- 555-
---- ---- -> 444- 22--
---- ---- 333- 222-
我們插入空的地方 - 數量在所有地方是不是空的,我們插入號那裏有 即是多「 - 」符號 - 我們拿號42和33--改變它在3344
33-- 555- 3344 555-
444- 22-- -> 444- 22--
333- 222- 333- 222-
如果我們想在地方插入更多數量
哪裏是不夠的「 - 」 - 程序結束
我開始是這樣的:
import java.util.Scanner;
import java.lang.Math.*;
public class Skladisce2
{
public static int dolzina;
public static int sirina;
public static int enote;
public static int tabela[][][];
////////////////////////////////////
//// PREGLED VRSTIC
////////////////////////////////////
public static boolean Vstavi(int barva, int visina) {
int pozdolzina = 0;
int pozsirina = 0;
int najbolProsto = 0;
for(int j=0; j<dolzina; j++) {
for(int i=0; i<sirina; i++) {
int prosto=0;
for(int k=0;k<enote;k++) {
if(tabela[j][i][k]==0){
prosto++;
}
if(prosto>najbolProsto) {
pozdolzina = i;
pozsirina = j;
najbolProsto = prosto;
for (int l=enote-najbolProsto; ((l<enote) &&(visina>0)); l++) {
tabela[pozdolzina][pozsirina][l] = barva;
visina--;}
continue;
}k++;
}
}
}
return true;
}
/////////////////////////////////////
//// IZPIS TABELE
//////////////////////////////////////
public static void Izpis() {
for (int i=0; i<dolzina; i++){
for (int j=0; j<sirina; j++){
for (int k=0; k<enote; k++) {
if(tabela[i][j][k] == 0) {
System.out.print("-");
}
else{
System.out.print(tabela[i][j][k]);
}
}
System.out.print(" ");
}
System.out.println();
}
}
public static void main (String[] args) {
Scanner vnos_stevila = new Scanner(System.in);
System.out.print("Insert dimension: ");
int vnos = vnos_stevila.nextInt();
// int vnos razdeli na podenote - prva številka je dolžina, druga širina in tretja enota
dolzina = Integer.parseInt(Integer.toString(vnos).substring(0,1));
sirina = Integer.parseInt(Integer.toString(vnos).substring(1,2));
enote = Integer.parseInt(Integer.toString(vnos).substring(2,3));
// izpis tabele s črtami
tabela= new int[dolzina][sirina][enote];
// izriše črtice
Izpis();
// VPIS SODOV
while (true){
System.out.print("Insert color and number");
int sod = vnos_stevila.nextInt();
int dolzinaIzpisa = (int)(Math.log10(sod)+1);
int barva = Integer.parseInt(Integer.toString(sod).substring(0,1));
int visina = Integer.parseInt(Integer.toString(sod).substring(1,2));
Vstavi(barva,visina);
Izpis();
}}
}
,但是當我插入32號寫:
33-- 33--
33-- 33--
33-- 33--
我怎樣才能使節目裏將檢查最低表並插入多少?
這是一個家庭作業嗎? – aglassman