2015-08-27 7 views
-2

Я начинаю на Java и через несколько лет изучая этот язык по книгам, я решил написать простую программу, которая «шифрует» строку, заменяя номера буквами и . наоборот это еще не закончена и имеет некоторые существенные ограничения, но она должна работать какJava «" («ожидаемая» ошибка компилятора

код:.

import java.util.Scanner; 

class Chiffrator { 
public static void main (String args[]) { 

    Scanner input = new Scanner(System.in); // Initializing keyboard scanner, like arrays (Scanner [name] = new Scanner(System.in) 

    String initial_code; // Initializing the string into which the text will be entered 
    System.out.println ("Enter initial code: "); 
    initial_code = input.next(); // Initializing input process, with syntax [string_name] = [scanner_name].next() 

    char letters[] = {a,b,c,d,e,f,g,h,i,j}; 
    numbers = new numbers[9]; 
    int i,j,k; 


    for (i=0; i=9; i++) { 
     numbers[i] = i; 
     i++; 
    } 


    for (k=0; k=init_code.length(); k++) { // .length() is a method! 
     if initial_code.contains(numbers)) 
      numbers[k] = letters[k]; 
     else if initial_code.contains(letters)) 
      letters[k] = numbers [k]; 
     k++; 
    }  


    System.out.println ("Your chiffred code is " + initial_code); 
} 
} 

это не работает Когда я пытаюсь скомпилировать его через терминал на. мой Mac, есть 2 ошибки:

Chiffrator.java:24: error: '(' expected 
     if initial_code.contains(numbers)) 
     ^
Chiffrator.java:26: error: '(' expected 
     else if initial_code.contains(letters)) 
      ^

Если я попытаюсь вставить эти скобки, компилятор говорит, что у меня 20 ошибок в коде.

Chiffrator.java:12: error: cannot find symbol 
    char letters[] = {a,b,c,d,e,f,g,h,i,j}; 
        ^
symbol: variable a 
location: class Chiffrator 
Chiffrator.java:12: error: cannot find symbol 
    char letters[] = {a,b,c,d,e,f,g,h,i,j}; 
         ^
symbol: variable b 
location: class Chiffrator 
Chiffrator.java:12: error: cannot find symbol 
    char letters[] = {a,b,c,d,e,f,g,h,i,j}; 
         ^
symbol: variable c 
location: class Chiffrator 
Chiffrator.java:12: error: cannot find symbol 
    char letters[] = {a,b,c,d,e,f,g,h,i,j}; 
          ^
symbol: variable d 
location: class Chiffrator 
Chiffrator.java:12: error: cannot find symbol 
    char letters[] = {a,b,c,d,e,f,g,h,i,j}; 
          ^
symbol: variable e 
location: class Chiffrator 
Chiffrator.java:12: error: cannot find symbol 
    char letters[] = {a,b,c,d,e,f,g,h,i,j}; 
           ^
symbol: variable f 
location: class Chiffrator 
Chiffrator.java:12: error: cannot find symbol 
    char letters[] = {a,b,c,d,e,f,g,h,i,j}; 
           ^
symbol: variable g 
location: class Chiffrator 
Chiffrator.java:12: error: cannot find symbol 
    char letters[] = {a,b,c,d,e,f,g,h,i,j}; 
            ^
symbol: variable h 
location: class Chiffrator 
Chiffrator.java:12: error: cannot find symbol 
    char letters[] = {a,b,c,d,e,f,g,h,i,j}; 
            ^
symbol: variable i 
location: class Chiffrator 
Chiffrator.java:12: error: cannot find symbol 
    char letters[] = {a,b,c,d,e,f,g,h,i,j}; 
             ^
symbol: variable j 
location: class Chiffrator 
Chiffrator.java:13: error: cannot find symbol 
    numbers = new numbers[9]; 
    ^
symbol: variable numbers 
location: class Chiffrator 
Chiffrator.java:13: error: cannot find symbol 
    numbers = new numbers[9]; 
       ^
symbol: class numbers 
location: class Chiffrator 
Chiffrator.java:18: error: incompatible types: int cannot be converted to boolean 
    for (i=0; i=9; i++) { 
      ^
Chiffrator.java:19: error: cannot find symbol 
     numbers[i] = i; 
     ^
symbol: variable numbers 
location: class Chiffrator 
Chiffrator.java:24: error: cannot find symbol 
    for (k=0; k=init_code.length(); k++) // .length() is a method! 
       ^
symbol: variable init_code 
location: class Chiffrator 
Chiffrator.java:24: error: incompatible types: int cannot be converted to boolean 
    for (k=0; k=init_code.length(); k++) // .length() is a method! 
      ^
Chiffrator.java:25: error: cannot find symbol 
     if (cont_let = (initial_code.contains(numbers))) 
              ^
symbol: variable numbers 
location: class Chiffrator 
Chiffrator.java:26: error: cannot find symbol 
      numbers[k] = letters[k]; 
      ^
symbol: variable numbers 
location: class Chiffrator 
Chiffrator.java:27: error: incompatible types: char[] cannot be converted to CharSequence 
     else if (cont_num = (initial_code.contains(letters))) 
               ^
Chiffrator.java:28: error: cannot find symbol 
      letters[k] = numbers [k]; 
         ^
symbol: variable numbers 
location: class Chiffrator 
Note: Some messages have been simplified; recompile with -Xdiags:verbose to get full output 
20 errors 

Спасибо за помощь!

+2

У вас отсутствует паратет для состояния 'if' и' else if' – SomeJavaGuy

+0

. Что еще 19 других ошибок? –

+0

Условие оператора _if_ должно быть заключено в _if (...) _ привязки, после размещения этих фигурных скобок в инструкции _if_, если вы обнаружите какой-либо тип ошибки, отправьте трассировку стека этих ошибок (19 ошибок). – Mihir

ответ

0

Вашего код имеет слишком много проблем в качестве перечисленной в другом ответе, ниже версия коды без ошибок компиляции, но я понятия не имею, что вы пытаетесь сделать в коде, и я уверен, что бы вы ни пытались, вы не делаете это правильно. Счастливое обучение!

import java.util.Scanner; 

class Chiffrator { 
    public static void main(String args[]) { 

     Scanner input = new Scanner(System.in); // Initializing keyboard 
               // scanner, like arrays (Scanner 
               // [name] = new 
               // Scanner(System.in) 

     String initial_code; // Initializing the string into which the text will 
           // be entered 
     System.out.println("Enter initial code: "); 
     initial_code = input.next(); // Initializing input process, with syntax 
             // [string_name] = [scanner_name].next() 

     char letters[] = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j' }; 
     int[] numbers = new int[9]; 
     int i, j, k; 

     for (i = 0; i <= 9; i++) { 
      numbers[i] = i; 
      i++; 
     } 

     for (k = 0; k <= initial_code.length(); k++) { // .length() is a method! 
      if (initial_code.contains(numbers.toString())) 
       numbers[k] = letters[k]; 
      else if (initial_code.contains(letters.toString())) 
       letters[k] = (char) numbers[k]; 
      k++; 
     } 

     System.out.println("Your chiffred code is " + initial_code); 
    } 
} 
5

Есть еще много проблем в своем коде я вижу,

Номер 1:

char letters[] = {a,b,c,d,e,f,g,h,i,j}; 

должно быть,

char letters[] = {'a' ,'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'}; 

Номер 2:

numbers = new numbers[9]; 

Где вы объявляете numbers? Вы ищете что-то вроде следующего?

int[] numbers = new int[9]; 

Номер 3:

for (i=0; i=9; i++) { 
      ^^^^ 
    numbers[i] = i; 
    i++; 
} 

Может быть,

for (i=0; i<=9; i++) { 

И то же самое для этого:

for (k=0; k=init_code.length(); k++) { 
     ^^^^^^^ 

Номер 4: Что такое init_code? Разве это не initial_code?

Номер 5: Объемного if и else if состояние с скобкой, например:

if (initial_code.contains(numbers)) 
    ^^^ 

и,

else if (initial_code.contains(letters)) 
     ^^^ 

SUGGESTION: Пожалуйста, изучите основы синтаксиса программирования JAVA первый ,

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