Advertisement
dimipan80

C#Exams 3. Programmer DNA (on Java Code)

Aug 25th, 2014
226
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.55 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3. public class _3_ProgrammerDNA {
  4.  
  5.     public static void main(String[] args) {
  6.         // TODO Auto-generated method stub
  7.         Scanner scan = new Scanner(System.in);
  8.         int length = scan.nextInt();
  9.         char startLetter = scan.next().charAt(0);
  10.  
  11.         int indexLetter = startLetter - 65;
  12.         int countOfFull7Rows = length / 7;
  13.         for (int i = 0; i < countOfFull7Rows; i++) {
  14.             indexLetter = printSevenOrLessRowsOfDNASequence(7, indexLetter);
  15.         }
  16.         int lastRowsOfSequence = length % 7;
  17.         if (lastRowsOfSequence > 0) {
  18.             printSevenOrLessRowsOfDNASequence(lastRowsOfSequence, indexLetter);
  19.         }
  20.     }
  21.  
  22.     private static int printSevenOrLessRowsOfDNASequence(int countRows,
  23.             int indexLetter) {
  24.         // TODO Auto-generated method stub
  25.         int countLetters = 1;
  26.         int outerDots = 3;
  27.         String outerDotSeq;
  28.         StringBuilder letterSeq;
  29.         for (int row = 0; row < countRows; row++) {
  30.             outerDotSeq = newString('.', outerDots);
  31.             letterSeq = new StringBuilder();
  32.             for (int count = 0; count < countLetters; count++) {
  33.                 indexLetter %= 7;
  34.                 char nextLetter = (char) (indexLetter + 65);
  35.                 letterSeq.append(nextLetter);
  36.                 indexLetter++;
  37.             }
  38.  
  39.             System.out.printf("%1$s%2$s%1$s\n", outerDotSeq, letterSeq);
  40.  
  41.             if (row < 3) {
  42.                 outerDots--;
  43.                 countLetters += 2;
  44.             } else {
  45.                 outerDots++;
  46.                 countLetters -= 2;
  47.             }
  48.         }
  49.  
  50.         return indexLetter;
  51.     }
  52.  
  53.     private static String newString(char ch, int size) {
  54.         StringBuilder sb = new StringBuilder();
  55.         for (int i = 0; i < size; i++) {
  56.             sb.append(ch);
  57.         }
  58.  
  59.         return sb.toString();
  60.     }
  61.  
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement