2016-12-16 4 views
0

Как я могу отобразить эквивалентное значение алфавита, добавляющего друг друга?Как я могу отобразить эквивалентное значение алфавита, добавляющего друг друга?

Мой вход аЬс поэтому выход должен быть 6 с:

а = 1

б = 2

с = 3

но я хочу, чтобы отобразить число, добавляя каждый прочие

ex.

1 + 2 + 3 = 6

Вот мой код:

public static void main(String []args) { 

    Scanner s = new Scanner(System.in); 

    System.out.println("Enter Alphabet"); 

    String input = s.nextLine(); 

    char[] charArray = input.toLowerCase().toCharArray(); 

    int sum = 0; 

    for (char c : charArray) { 

     sum += (int)c-96; 

    } 

    System.out.println(sum); 

} 

ответ

-2

просто хранить его в StringBuilder, как вы идете

например

int sum = 0; 
    StringBuilder buf = new StringBuilder(); 
    char[] charArray = "abc".toCharArray(); 
    for(char c : charArray){ 
     int i = (int)c-96; 
     sum += i; 
     buf.append (i).append ("+"); 
    } 
    buf.setLength(buf.length() -1); 
    buf.append("=").append(sum); 
    System.out.println(buf.toString()); 
+0

Большое вам спасибо, сэр! не надо бить головой :) – questionboy

+0

почему это вниз? –

0

Я предлагаю вам используйте StringBuilder для отслеживания значений, указанных в:

public static void main(String[] args) { 

    Scanner s = new Scanner(System.in); 

    System.out.println("Enter Alphabet"); 

    String input = s.nextLine(); 

    char[] charArray = input.toLowerCase().toCharArray(); 

    int sum = 0; 
    StringBuilder builder = new StringBuilder(); 

    int i = 1; 
    for (char c : charArray) { 

     sum += (int) c - 96; 
     builder.append((int) c - 96); 

     if(i != charArray.length) 
      builder.append(" + "); 
     else if(i == charArray.length) 
      builder.append(" = "); 

     i++; 
    } 
    builder.append(sum); 
    System.out.println(builder); 

} 
Смежные вопросы