Syntax error on token void record expected

Error codes (syntax error on token «void», @ expected) syntax error on token «void», @ expected Error by last curly bracket: Multiple markers at this line — Syntax error, insert «enum Identifier» to complete EnumHeader — Syntax error, insert «)» to complete Modifier — Syntax error, insert «EnumBody» to complete EnumDeclaration — Syntax error, […]

Error codes (syntax error on token «void», @ expected)

  • syntax error on token «void», @ expected

    Error by last curly bracket:

    Multiple markers at this line
    — Syntax error, insert «enum Identifier» to
    complete EnumHeader
    — Syntax error, insert «)» to complete
    Modifier
    — Syntax error, insert «EnumBody» to
    complete EnumDeclaration
    — Syntax error, insert «>» to complete
    ClassBody
    — Syntax error, insert «>» to complete Block

  • Welcome to the Ranch, Shan.

    Looks like you’ve got a couple of problems. First, your main method has to be inside a class, so try moving Lines 6-14 to just under Line 18. Second, your main method and your MovingDisk class are both missing their final «>» characters. Try adding those and let’s see what happens next.

    «Il y a peu de choses qui me soient impossibles. «

    Источник

    Как избавиться от синтаксической ошибки на токене «public» в основном классе?

    Я получаю синтаксическую ошибку в своем основном классе, когда вызываю конструктор из другого класса, который мне нужен для запуска основной программы. Эта программа ориентирована на наследование и соответствующий вызов конструкторов и аргументов. Это сообщение об ошибке, которое я получаю во время компиляции:

    Это строка кода, вызывающая ошибку:

    Остальной код можно найти ниже:

    Весь ваш код в одном файле?

    @azurefrog Да, они в одной папке

    Ну, он не знает, как разбирать public PreferredCustomer() <> , потому что это был бы конструктор в классе PreferredCustomer . Вместо этого он случайным образом помещается в метод main() вашей программы в класс a6main . Просто удалите три строки, они ничего не делают. Возможно, это была ошибка копирования и вставки?

    @ PetrJaneček Хорошо, я сделал это, теперь конструктор PreferredCustomer в main не определен . PreferredCustomer c = new PreferredCustomer («Al», «222BurdSt», «2102223321», «46821», «2000», true, «1000») ;

    @AlwinBaybayan Привет, ваш конструктор PreferredCustomer принимает 9 аргументов. Вы вызываете этот конструктор с помощью new PreferredCustomer («Al», «222BurdSt», «2102223321», «46821», «2000», true, «1000»); Следовательно, либо вы исправляете свой общедоступный конструктор PreferredCustomer (xxxxx), чтобы он принимал только 7 аргументов, либо вы используете этот конструктор и передаете ему 9 значений . Также я вижу что-то странное в вашем общедоступном конструкторе PreferredCustomer () . Почему? вы проходите мимо, PreferredCustomer preferredCustomer) это к нему? 🙂

    У вас здесь несколько ошибок. Я их исправил, программа запускается и выдаёт результат:

    Name: Al
    Address: 222BurdSt
    Telephone number: 2102223321
    Customer ID: 46821
    Amount spent: 2000
    On mailing list: true
    Discount: 10.0

    Удалите конструктор PreferredCustomer из основного метода. Это не может быть частью метод, он является частью класса. Затем конструктором PreferredCustomer является уже присутствует в классе PreferredCustomer.

    Надеюсь, классы вашего клиента и PreferredCustomer находятся в отдельных файлах? Если нет, поместите их в отдельные файлы с именами customer.java и PreferredCustomer.java. В конструкторе класса PreferredCustomer удалите PreferredCustomer preferredCustomer из аргументов. Это излишне: зачем передавать одного клиента другому? Есть ли у клиентов какие-либо отношения друг с другом? Теперь количество аргументов будет совпадать при вызове конструктора (и не использовать строки «2000», «1000», где должны быть целые числа):

    Далее в конструкторе PreferredCustomer используйте this вместо preferredCustomer здесь: this.discount = Discount; и выведите Discount в верхнем регистре, как в сигнатуре конструктора.

    В результате код конструктора должен быть:

    Основной метод в классе a6main:

    И позаботьтесь об именах, как указывали другие люди.

    Источник

    I am very new and trying to complete a recipe generator for my final project. It is based off of some of the basic recipes in a video game.

    I have multiple if-statements under a method called compareRecipe. I was trying to create a separate class for compareRecipe. My teacher recommended that I create separate classes for each base ingredient (i.e., one for apples, one for cherries, etc), but at this point I cannot even get the method moved over to a class. I’m getting the error, «Syntax error on token «void», record expected.» Under this on my print line I also get the error, «Syntax error on tokens, AnnotationName expected instead.»

    Is there anything I can do to make this work? I’ve tried multiple alterations on the first line aside from changing the public piece.

    https://pastebin.com/J39NLymJ — The entire method in question

    update- part of it:

    	//If statements comparing ingredients with recipe
    		public static void compareRecipe() {
    			
    			System.out.println("According to the input, you can make:");
    
    			//Apples
    			if (ingredients[0] >= 3) {
    				System.out.println("Apple Jam");
    			}
    			if (ingredients[0] >= 2) {
    				System.out.println("AppleJelly");
    				System.out.println("Apple Smoothie");
    			}
    
    			if (ingredients[0] >= 1 && ingredients[3] >= 1){
    				System.out.println("Apple Tart");
    			}
    
    			if (ingredients[0] >= 2 && ingredients[4] >= 2 && ingredients[3] >= 1){
    				System.out.println("Apple Pie");
    			}
    			if (ingredients[0] == 0) {
    				System.out.println("No apple recipes");
    			}
                   }
    

    Also, is there a way I could call a method from another class without creating an object? If I can’t then I don’t even know if the separate class is even worth it even though it looks better.

    This is part of a multi step project where the user inputs ingredients, and the if statements compare and prints out what is available based on what ingredients are available. I must getters and setters to put the user input from ints into an array of the ingredients prior to doing the compare. The array is public in the class this was taken from, so theoretically should be acceptable from outside the class. I can post the other 2 classes if that would be helpful for anyone. I’d really appreciate any help because I’ve spent hours on this between coding and researching and am at my wit’s end.

    Я получаю синтаксическую ошибку в своем основном классе, когда вызываю конструктор из другого класса, который мне нужен для запуска основной программы. Эта программа ориентирована на наследование и соответствующий вызов конструкторов и аргументов. Это сообщение об ошибке, которое я получаю во время компиляции:

    Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
            Syntax error on token "public", record expected after this token
    
            at a6main.main(a6main.java:7)
    

    Это строка кода, вызывающая ошибку:

    PreferredCustomer c = new PreferredCustomer("Al", "222BurdSt", "2102223321", "46821",
    "2000", true, "1000");
    

    Остальной код можно найти ниже:

    class person {
    
        String Name;
        String Address;
        String Telephone;
    
        person (String Name, String Address, String Telephone) {
            this.Name = Name;
            this.Address = Address;
            this.Telephone = Telephone;
        }
        
        String getName() {
            return Name;
        }
        
        String getAddress() {
            return Address;
        }
        
        String getTelephone() {
           return Telephone;
        }
        
        void setName(String Name) {
            this.Name = Name;
        }
        
        void setAddress(String Address) {
            this.Address = Address;
        }
        
        void setTelephone(String Telephone) {
            this.Telephone = Telephone;
        }
    }
    
    public class customer extends person {
    
        String number;
        boolean OnMailingList;
    
        //constructor and getters and setters
    
        customer (String Name, String Address, String Telephone, String number, boolean OnMailingList) {
            //inherit persons information
            super(Name, Address, Telephone);
            this.number = number;
            this.OnMailingList = OnMailingList;
        }
        
        String getnumber() {
            return number;
        }
    
        void setnumber(String number) {
            this.number = number;
        }
    
        boolean OnMailingList () {
            return OnMailingList;
        }
    
        void setOnMailingList(boolean OnMailingList) {
            this.OnMailingList = OnMailingList;
        }
    }
    
    public class PreferredCustomer extends customer {
    
        private int purchase;
        double discount;
    
        /**public constructor so its accessible to main
         * else ifs for certain percentage of discounts
         * getters and setters for purchase and discount
         * super to inherit other features from other classes */
        public int getpurchase() {
            return purchase;
        }
    
        public double getdiscount () {
            return this.discount;
        }
    
        public void setPurchase(int purchase) {
            this.purchase = purchase;
        }
    
        public PreferredCustomer(String Name, String Address, String Telephone, String number, int pur, 
                                boolean OnMailingList, double Discount, PreferredCustomer preferredCustomer) {
            
            super(Name, Address, Telephone, number, OnMailingList);
    
            this.purchase = pur;
            preferredCustomer.discount = discount;
    
            if (this.purchase>= 2000) {
                this.discount = 10;
            } else if (this.purchase>= 1500) {
                this.discount = 7;
            } else if (this.purchase>= 1000) {
                this.discount = 6;
            } else if (this.purchase >= 500) {
                this.discount = 5;
            }
        }
    }
        
    
    public class a6main {
        
        public static void main (String [] args) {
            
        public PreferredCustomer() {
    
        }
    
        PreferredCustomer c = new PreferredCustomer("Al", "222BurdSt", "2102223321", "46821","2000", true, "1000");
       
            System.out.println("Name: " + c.getName());
            System.out.println("Address: " + c.getAddress());
            System.out.println("Telephone number: " + c.getTelephone());
            System.out.println("Customer ID: " + c.getnumber());
            System.out.println("Amount spent: " + c.getpurchase());
            System.out.println("On mailing list: " + c.OnMailingList());
            System.out.println("Discount: " + c.getdiscount());
        }
    }
    

    1 ответ

    Лучший ответ

    У вас здесь несколько ошибок. Я их исправил, программа запускается и выдаёт результат:

    Имя: Эл
    Адрес: 222BurdSt
    .
    Телефонный номер: 2102223321
    Идентификатор клиента: 46821
    Потрачено: 2000
    В списке рассылки: верно
    Скидка: 10.0

    Удалите конструктор PreferredCustomer из основного метода. Это не может быть частью метод, он является частью класса. Затем конструктор PreferredCustomer уже присутствует в классе PreferredCustomer.

    Надеюсь, классы вашего клиента и PreferredCustomer находятся в отдельных файлах? Если нет, поместите их в отдельные файлы с именами customer.java и PreferredCustomer.java. В конструкторе класса PreferredCustomer удалите PreferredCustomer preferredCustomer из аргументов. Это излишне: зачем передавать одного клиента другому? Есть ли у клиентов какие-либо отношения друг с другом? Теперь количество аргументов будет совпадать при вызове конструктора (и не использовать строки «2000», «1000», где должны быть целые числа):

    PreferredCustomer c = new PreferredCustomer("Al", "222BurdSt", "2102223321", "46821",
    2000, true, 1000);
    

    Далее в конструкторе PreferredCustomer используйте this вместо preferredCustomer здесь: this.discount = Discount; и выведите Discount в верхнем регистре, как в сигнатуре конструктора.

    В результате код конструктора должен быть:

    public PreferredCustomer(String Name, String Address, String Telephone, String number, int pur, boolean OnMailingList, double Discount) {
        super(Name, Address, Telephone, number, OnMailingList);
        this.purchase = pur;
        this.discount = Discount;
    
        if (this.purchase>= 2000) {
            this.discount = 10;
        } else if (this.purchase>= 1500) {
            this.discount = 7;
        } else if (this.purchase>= 1000) {
            this.discount = 6;
        } else if (this.purchase >= 500) {
            this.discount = 5;
        }
    }
    

    Основной метод в классе a6main:

    public static void main (String [] args) {
        PreferredCustomer c = new PreferredCustomer("Al", "222BurdSt", "2102223321", "46821", 2000, true, 1000);
    
        System.out.println("Name: " + c.getName());
        System.out.println("Address: " + c.getAddress());
        System.out.println("Telephone number: " + c.getTelephone());
        System.out.println("Customer ID: " + c.getnumber());
        System.out.println("Amount spent: " + c.getpurchase());
        System.out.println("On mailing list: " + c.OnMailingList());
        System.out.println("Discount: " + c.getdiscount());
    }
    

    И позаботьтесь об именах, как указывали другие люди.


    1

    HoRn
    6 Апр 2021 в 08:01

    Anton8800

    14 / 2 / 0

    Регистрация: 29.09.2018

    Сообщений: 246

    1

    12.12.2018, 00:12. Показов 5410. Ответов 12

    Метки нет (Все метки)


    Java
    1
    2
    3
    4
    5
    6
    7
    
    public class j2 {
        public static void main(String[] args) {
            int a=1;
            int b=2;
            a>3&&b>3 ? a+b:a;
        }
    }

    Exception in thread «main» java.lang.Error: Unresolved compilation problems:
    Syntax error on token «>», invalid AssignmentOperator
    The operator && is undefined for the argument type(s) int, boolean

    at j2.main(j2.java:6)
    Вопрос, откуда проблемы компиляции? Что я сделал не так?

    __________________
    Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



    0



    109 / 89 / 25

    Регистрация: 02.06.2018

    Сообщений: 259

    12.12.2018, 00:59

    2

    Потому что вы просто в «пустоту» пытаетесь вывести результат.
    Напишите это в System.out.println(), например

    Добавлено через 8 минут
    Да, вам будет еще подсказка, что проверка вообще-то в данном случае в принципе не нужна, т.к. результат и так false, потому что вы явно задали значения a = 1 и b = 2



    0



    Эксперт Java

    3636 / 2968 / 918

    Регистрация: 05.07.2013

    Сообщений: 14,220

    12.12.2018, 08:59

    3

    в армию тебе надо, в армии хорошо, думать не требуется



    0



    Anton8800

    14 / 2 / 0

    Регистрация: 29.09.2018

    Сообщений: 246

    12.12.2018, 19:20

     [ТС]

    4

    Цитата
    Сообщение от NiceJacket
    Посмотреть сообщение

    Потому что вы просто в «пустоту» пытаетесь вывести результат.
    Напишите это в System.out.println(), например
    Добавлено через 8 минут
    Да, вам будет еще подсказка, что проверка вообще-то в данном случае в принципе не нужна, т.к. результат и так false, потому что вы явно задали значения a = 1 и b = 2

    Java
    1
    2
    3
    4
    5
    
    Потому что вы просто в "пустоту" пытаетесь вывести результат.
    Напишите это в System.out.println(), например
     
    Добавлено через 8 минут
    Да, вам будет еще подсказка, что проверка вообще-то в данном случае в принципе не нужна, т.к. результат и так false, потому что вы явно задали значения a = 1 и b = 2

    Так тоже не работает.Но работает так

    Java
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    public class j2 {
        public static void main(String[] args) {
            int a=1;
            int b=2;
            int x;
            x = a > 1&&b <1 ? a-1 : a+1;
            System.out.print(x);
            
        }
    }

    Почему?



    0



    Нарушитель

    Эксперт PythonЭксперт Java

    14042 / 8230 / 2485

    Регистрация: 21.10.2017

    Сообщений: 19,708

    12.12.2018, 19:27

    5

    Цитата
    Сообщение от Anton8800
    Посмотреть сообщение

    Почему?

    Прежде чем пытаться лепить тернарный оператор, разберись как следует с if..else



    0



    14 / 2 / 0

    Регистрация: 29.09.2018

    Сообщений: 246

    12.12.2018, 19:38

     [ТС]

    6

    Цитата
    Сообщение от iSmokeJC
    Посмотреть сообщение

    Прежде чем пытаться лепить тернарный оператор, разберись как следует с if..else

    Почему? И что конкретно подучить с if else там же вроде все просто. Или есть подводные камни?



    0



    Нарушитель

    Эксперт PythonЭксперт Java

    14042 / 8230 / 2485

    Регистрация: 21.10.2017

    Сообщений: 19,708

    12.12.2018, 19:52

    7

    Лучший ответ Сообщение было отмечено Aviz__ как решение

    Решение

    Anton8800, что такое тернарный оператор?

    Добавлено через 7 минут
    Из той же самой википедии:

    Безотносительно к определённому языку программирования тернарную операцию можно определить так:

    логическое выражение ? выражение 1 : выражение 2
    Алгоритм работы операции следующий:

    1. Вычисляется логическое выражение.
    2. Если логическое выражение истинно, то вычисляется значение выражения выражение 1, в противном случае — значение выражения выражение 2.
    3. Вычисленное значение возвращается.

    Обрати внимание на третий пункт.

    Цитата
    Сообщение от Anton8800
    Посмотреть сообщение

    a>3&&b>3 ? a+b:a;

    Вот куда оно у тебя здесь возвращается?



    1



    14 / 2 / 0

    Регистрация: 29.09.2018

    Сообщений: 246

    12.12.2018, 21:35

     [ТС]

    8

    Цитата
    Сообщение от iSmokeJC
    Посмотреть сообщение

    Прежде чем пытаться лепить тернарный оператор, разберись как следует с if..else

    Почему? И что конкретно подучить с if else там же вроде все просто. Или есть подводные камни?

    Цитата
    Сообщение от iSmokeJC
    Посмотреть сообщение

    Вот куда оно у тебя здесь возвращается?

    Понял принял)



    0



    NiceJacket

    109 / 89 / 25

    Регистрация: 02.06.2018

    Сообщений: 259

    12.12.2018, 21:50

    9

    Цитата
    Сообщение от Anton8800
    Посмотреть сообщение

    Так тоже не работает.
    Почему?

    честно говоря, для меня загадка, КАК именно не работает, основываясь на моём комменте?

    Не по теме:

    Не думал, что мой коммент не будет исчерпывающим

    Добавлено через 8 минут

    Цитата
    Сообщение от Anton8800
    Посмотреть сообщение

    Почему? И что конкретно подучить с if else там же вроде все просто. Или есть подводные камни?

    Если переписать ваш тернарный оператор на if else именно так, как написано у вас, то это будет выглядеть следующим образом:

    Java
    1
    2
    3
    4
    
    if (a>3 && b>3) 
        a+b;
    else 
        a;

    Что totally некорректно. Суть ясна?



    1



    14 / 2 / 0

    Регистрация: 29.09.2018

    Сообщений: 246

    12.12.2018, 22:00

     [ТС]

    10

    Цитата
    Сообщение от NiceJacket
    Посмотреть сообщение

    Суть ясна?

    Да, спасибо)



    0



    109 / 89 / 25

    Регистрация: 02.06.2018

    Сообщений: 259

    12.12.2018, 22:01

    11

    Цитата
    Сообщение от Anton8800
    Посмотреть сообщение

    Да, спасибо)

    Так вы поделитесь, вот вы прочитали, сделали, не получилось. Как именно вы сделали?
    Заинтриговало же )



    0



    Anton8800

    14 / 2 / 0

    Регистрация: 29.09.2018

    Сообщений: 246

    12.12.2018, 22:16

     [ТС]

    12

    Цитата
    Сообщение от NiceJacket
    Посмотреть сообщение

    Суть ясна?

    Да, спасибо)

    Цитата
    Сообщение от NiceJacket
    Посмотреть сообщение

    Так вы поделитесь, вот вы прочитали, сделали, не получилось. Как именно вы сделали?
    Заинтриговало же )

    Сделал по дебильному

    Java
    1
    2
    3
    4
    
    int a=1;
            int b=2;
            int x;
            a>3&&b>3 ? System.out.print(a+b):System.out.print(a);

    Просто не понимал, что вычисленное значение возвращается



    0



    NiceJacket

    109 / 89 / 25

    Регистрация: 02.06.2018

    Сообщений: 259

    12.12.2018, 22:19

    13

    Цитата
    Сообщение от Anton8800
    Посмотреть сообщение

    Да, спасибо)
    Сделал по дебильному

    Java
    1
    2
    3
    4
    
    int a=1;
            int b=2;
            int x;
            a>3&&b>3 ? System.out.print(a+b):System.out.print(a);

    Просто не понимал, что вычисленное значение возвращается

    понятно, конечно же, имелось в виду всю операцию поместить в System.out.println()



    1



    IT_Exp

    Эксперт

    87844 / 49110 / 22898

    Регистрация: 17.06.2006

    Сообщений: 92,604

    12.12.2018, 22:19

    Помогаю со студенческими работами здесь

    Ошибка «Fatal: Syntax error, «BEGIN» expected but «END» found»
    Ввожу
    unit Unit1;

    {$mode objfpc}{$H+}

    interface

    uses
    Classes, SysUtils, FileUtil,…

    Ошибка «Fatal: Syntax error, «;» expected but «.» found»
    звучит задание: создай программу, в которой можно преподнести введенное пользователем число к…

    Unit1.pas(51,0) Fatal: Syntax error, «BEGIN» expected but «end of file» found
    Вобщем, мне говорят что у меня ошибка в несуществующей строке.
    Пишет мне вот это; unit1.pas(51,0)…

    Ошибка: project1.lpr(1,1) Fatal: Syntax error, «BEGIN» expected but «end of file» found
    project1.lpr(1,1) Fatal: Syntax error, &quot;BEGIN&quot; expected but &quot;end of file&quot; found
    выдает эту ошибку…

    Искать еще темы с ответами

    Или воспользуйтесь поиском по форуму:

    13

    почему я получаю эту ошибку?? Синтаксическая ошибка в токене «void», ожидаемое программирование для Android

    пожалуйста, помогите мне со следующим кодом… я пытаюсь создать приложение для Android, и я получаю сообщение об ошибке в коде, когда пытаюсь создать функцию внутри onCreate.. необходимо создать функцию для доступа к кнопкам, меткам и текстовые поля…. вот мой код

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        final EditText player = (EditText)findViewById(R.id.player);
        final TextView plrlbl1 = (TextView)findViewById(R.id.textView1);
        final ImageButton imageButton1 = (ImageButton)findViewById(R.id.imageButton1);
        final ImageButton imageButton2 = (ImageButton)findViewById(R.id.imageButton2);
    
        public void thisfunction()
        {
    
        }
    }
    

    пожалуйста, помогите мне создать функцию внутри oncreate… помощь приветствуется

    3 ответы

    public void thisfunction()
        {
    
        }
    

    вы объявляете thisfunction() внутри onCreate(). Вы должны объявить за пределами onCreate. Если у вас есть этот вид вопроса, я рекомендую вам прочитать базовую книгу программирования.

    Создан 03 июля ’12, 09:07

    пожалуйста, помогите мне создать функцию внутри oncreate…

    Вы не можете, Java не позволяет этого. Вы должны объявить это за пределами onCreate().

    Создан 03 июля ’12, 09:07

    Правильная установка примерно такая

    public class MyActivity extended Activity {
    
    private TextView myTextView;
    
        @Override 
        public void onCreate (Bundle savedInstanceState) {
            super.onCreate () ; 
            setContentView(R.layout.main) ; 
    
            myTextView = (TextView) findViewById (R.id.textView1) ; 
    
            myNewMethod() ; 
        }
    
        private void myNewMethod () {
            myTextView.setText("Hello world") ; 
        } 
    } 
    

    Создан 04 июля ’12, 07:07

    Не тот ответ, который вы ищете? Просмотрите другие вопросы с метками

    android
    eclipse

    or задайте свой вопрос.

    Понравилась статья? Поделить с друзьями:
  • Syntax error on token s misplaced construct s java
  • Syntax error on token println identifier expected after this token
  • Syntax error on token package import expected
  • Syntax error on token module interface expected
  • Syntax error on token invalid assignmentoperator