Tråd: Hello World.
View Single Post
Skrev min hello world i java. Denne snutten er skrevet omtrent motsatt av hvordan jeg vanligvis skriver kode (feks jeg vet om String). Det fikk meg merkelig nok til å tenke mer over hvordan man setter opp koden for å være lesbar/gjenbrukbar osv. når jeg gikk aktivt inn for å motvirke det. Og jeg ble glad jeg ikke skriver sånn til vanlig.

Kode

public class outputter
{
	public static void main(String[] args)
	{	
		new outputter().output();
	}

	public void output()
	{
		fiveLetterWord h = new fiveLetterWord(72, 101, 108, 108, 111);
		fiveLetterWord w = new fiveLetterWord(119, 111, 114, 108, 100);		
		printTwoWords(h, w, true);
	}
	
	public void printTwoWords(word word1, word word2, boolean withASeparator)
	{
		int word1length = word1.getWord().length;
		int word2length = word2.getWord().length;
		
		if(withASeparator == true)
		{
			for(int i = 0; i < word1.getWord().length; i++)
			{
				System.out.print(word1.getWord()[i]);		
			}		
			
			System.out.print((char)44);
			System.out.print((char)32);
			
			for(int i = 0; i < word2.getWord().length; i++)
			{
				System.out.print(word2.getWord()[i]);		
			}
		}
		else if(withASeparator == false)
		{
			for(int i = 0; i < word1.getWord().length; i++)
			{
				System.out.print(word1.getWord()[i]);		
			}
			
			for(int i = 0; i < word2.getWord().length; i++)
			{
				System.out.print(word2.getWord()[i]);		
			}
		}
		else{
			//do Nothing
		}
	}	
	
	abstract private class word{	
		abstract public char[] getWord();
	}
	
	private class fiveLetterWord extends word
	{
		char[] letters = new char[5];
	
		public fiveLetterWord(int letterOne, int letterTwo, int letterThree, int letterFour, int letterFive)
		{
			letters[1-1] = (char)letterOne;
			letters[2-1] = (char)letterTwo;
			letters[3-1] = (char)letterThree;
			letters[4-1] = (char)letterFour;
			letters[5-1] = (char)letterFive;
		}
	
		public char[] getWord()
		{
			char out[] = new char[5];
			for(int i = 5-1; i > -1; i--)
			{
				out[i] = letters[i];
			}
	
			return out;
		}
	}
}