Olen tehnyt ohjelman, joka varaa tilaa kaksiulotteiselle taulukolle, jonka rivien määrän määrittelee käyttäjä ja sarakkeiden määräksi laitoin 2. Tämän jälkeen käyttäjä syöttää kokonaislukuja taulukon ensimmäiseen sarakkeeseen, toinen sarake jää tyhjäksi. Tähän asti kaikki toimii todella hyvin. Olen myös tehnyt toimivan metodin joka tulostaa taulukon sisällön.
Ongelmani on etten saa tehtyä toimivaa metodia, joka laskee kunkin talletetun luvun numeroiden lukumäärän (esim. 123 on kolme numeroa). Tämä arvo pitäisi saada talletettua taulukon toiseen sarakkeeseen kyseessä olevan luvun perään.(eli siihen minkä pääohjelmassa jätin tyhjäksi)
Olen yrittänyt ratkaista tätä ongelmaa jo viikon, enkä keksi ratkaisua olkaa niin kilttejä ja auttakaa.
Ohjelma listaus:
[code]
import java.io.*;
class taulukko{
public static void main (String [] args ) {
BufferedReader LUE = new BufferedReader
( new InputStreamReader ( System.in ));
int [] [] taulukko;
int koko = -1;
int i;
// kysytään taulukon koko
do{
System.out.print("Anna taulukon rivien maara ( > 1 ) >>>");
try {
koko = Integer.parseInt( LUE.readLine());
}catch( NumberFormatException nfe ) {
System.out.println("Syötä kokonaisluku!");
System.out.println( nfe.toString());
}catch(IOException ioe){
; //"kuitataan" poikkeus käsitellyksi
}
if(koko = koko);
// varataan tilaa taulukolle
taulukko = new int[koko] [2];
// täytetään taulukko luvuilla > 0
for(i=0; i < taulukko.length; i )
{
do{
System.out.print("\nAnna KOKONAISLUKU ( > 0 )");
try{
taulukko[i] [0] = Integer.parseInt ( LUE.readLine());
}catch (NumberFormatException nfe){
System.out.println("ANNA KOKONAISLUKU");
System.out.println( nfe.toString());
}catch ( IOException ioe ){
;
}
}while( taulukko[i] [0]
Ongelmani on etten saa tehtyä toimivaa metodia, joka laskee kunkin talletetun luvun numeroiden lukumäärän (esim. 123 on kolme numeroa). Tämä arvo pitäisi saada talletettua taulukon toiseen sarakkeeseen kyseessä olevan luvun perään.(eli siihen minkä pääohjelmassa jätin tyhjäksi)
Olen yrittänyt ratkaista tätä ongelmaa jo viikon, enkä keksi ratkaisua olkaa niin kilttejä ja auttakaa.
Ohjelma listaus:
[code]
import java.io.*;
class taulukko{
public static void main (String [] args ) {
BufferedReader LUE = new BufferedReader
( new InputStreamReader ( System.in ));
int [] [] taulukko;
int koko = -1;
int i;
// kysytään taulukon koko
do{
System.out.print("Anna taulukon rivien maara ( > 1 ) >>>");
try {
koko = Integer.parseInt( LUE.readLine());
}catch( NumberFormatException nfe ) {
System.out.println("Syötä kokonaisluku!");
System.out.println( nfe.toString());
}catch(IOException ioe){
; //"kuitataan" poikkeus käsitellyksi
}
if(koko = koko);
// varataan tilaa taulukolle
taulukko = new int[koko] [2];
// täytetään taulukko luvuilla > 0
for(i=0; i < taulukko.length; i )
{
do{
System.out.print("\nAnna KOKONAISLUKU ( > 0 )");
try{
taulukko[i] [0] = Integer.parseInt ( LUE.readLine());
}catch (NumberFormatException nfe){
System.out.println("ANNA KOKONAISLUKU");
System.out.println( nfe.toString());
}catch ( IOException ioe ){
;
}
}while( taulukko[i] [0]
Vastaukset 4
Vanhimmat
public static int laske(int luku)
{
return String.valueOf(luku).length();
}
return ("" luku).length();
Joo, noin saa laskettua mutta miten saan sen toiseen sarakkeeseen?
kiitos jo etukäteen:)
/*
Koska kokonaisluvut sisältävät sekä positiiviset, että negatiiviset arvot...
http://matta.hut.fi/matta/isom/tskhtml/reaalilv2.html
*/
import java.io.*;
class taulukko{
public static void main (String [] args ) {
BufferedReader LUE = new BufferedReader(new InputStreamReader(System.in));
int koko = -1;
//kysytään taulukon koko
while(koko