» »

Java-preverjanje rešitve

Java-preverjanje rešitve

Zixan ::

V javanskem programu je podana razredna tabela znakov kemijskaFormula, katere vsebina je po branju npr.
takale: H2SO4. Napišite javansko metodo, ki bo izraz izpisala v 'bralnejši' obliki

Jaz sem naredil tako: ampak me motijo tisti ifi, ker sem hotel narediti tak program, ki bi katerokoli formulo spremenil v "bralnejso" .. Mi lahko kdo pove, če bi bila ta primerna rešitev, za tako nalogo?
public class Formula {

	public static void main (String []args) {
		
		
	String [] kemijskaFormula = {"H","2", "O","4"};
	int c = 1;
	for (int i = 0; i  < kemijskaFormula.length; i++){
		
		c++;
	}
	
	String[][] Array1 = new String[c][c];
	
	for (int i = 0; i < Array1.length-1;i++){
		
		Array1[0][i] = kemijskaFormula[i];
		
		if (Array1[0][i]=="2"){
			Array1[0][i] = " ";
			Array1[1][i] = "2";
		}
		if (Array1[0][i]=="3"){
			Array1[0][i] = " ";
			Array1[1][i] = "3";
		}
		if (Array1[0][i]=="4"){
			Array1[0][i] = " ";
			Array1[1][i] = "4";
		}
		if (Array1[0][i]=="5"){
			Array1[0][i] = " ";
			Array1[1][i] = "5";
		}
		if (Array1[0][i]=="6"){
			Array1[0][i] = " ";
			Array1[1][i] = "7";
		}
		if (Array1[0][i]=="8"){
			Array1[0][i] = " ";
			Array1[1][i] = "9";
		}
		if (Array1[0][i]=="10"){
			Array1[0][i] = " ";
			Array1[1][i] = "10";
		}
	}
	

	for(int i = 0; i<c; i++)
	{
	    for(int j = 0; j<c; j++)
	    {	
	    	if (Array1[i][j]!=null){
	        System.out.print(Array1[i][j]);
	    	}else{
	    		System.out.print(" ");
	    	}
	    }
	    System.out.println();
	}
	
}
}


vem da tabela ni razreda, ampak to ne igra velike vloge

GupeM ::

In kaj naj bi bila bralnejša oblika?

Zixan ::

import java.io.IOException;

public class Formula {

	public static void main (String []args) {
		
		
	String [] kemijskaFormula = {"H","2","S","O","4"};
	
	
	String[][] Array1 = new String[kemijskaFormula.length][kemijskaFormula.length];
	
	for (int i = 0; i < Array1.length;i++){
		
		if (program(kemijskaFormula[i])){
			Array1[1][i] = kemijskaFormula[i];
		}else{
			Array1[0][i] = kemijskaFormula[i]; 
		}
	}
	

	for(int i = 0; i<kemijskaFormula.length; i++)
	{
	    for(int j = 0; j<kemijskaFormula.length; j++)
	    {	
	    	if (Array1[i][j]!=null){
	        System.out.print(Array1[i][j]);
	    	}else{
	    		System.out.print(" ");
	    	}
	    }
	    System.out.println();
	}
	
}
	
	static boolean program (String x){
		
		try {
			int y = Integer.parseInt(x);
		}catch(Exception e) {
			return false;
		}
		return true;
	}
	
	
}


problem sem rešil mislim, da je tako 100% pravilno, dela za vse možne formule

Spura ::

Why not:

public class Formula {
    public static void main(String[] args) {
        char[] formula = "H2SO4".toCharArray();
        for (char c : formula) {
            if (Character.isDigit(c)) {
                System.out.print(' ');
            } else {
                System.out.print(c);
            }
        }
        System.out.println();
        for (char c : formula) {
            if (Character.isDigit(c)) {
                System.out.print(c);
            } else {
                System.out.print(' ');
            }
        }
    }
}


Jasno lahko je se krajse:

public class Formula {
    public static void main(String[] args) {
        System.out.println("H2SO4".replaceAll("\\d", " "));
        System.out.println("H2SO4".replaceAll("\\D", " "));
    }
}



Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[C] Razbitje stringa s pomočjo indeksov

Oddelek: Programiranje
5827 (705) Shinobi
»

Spreminjanje vrednosti v polju [C]

Oddelek: Programiranje
102168 (1967) specing
»

[PHP] empty array

Oddelek: Programiranje
91843 (1710) BigWhale
»

c# datagridview in combox

Oddelek: Programiranje
131207 (1095) OmegaM
»

sortirni algoritem v Cju

Oddelek: Programiranje
61432 (1284) GaPe

Več podobnih tem