Перейти к контенту
Есть такая задача:
Бесконечный цикл while (true) с прерыванием break применяется для
решения достаточно ограниченного спектра задач. Чаще всего его удобнее
заменить на цикл while с условием. Потренируйтесь это делать. Эта
программа с помощью бесконечного цикла суммирует числа, которые вводит
пользователь. Она работает до тех пор, пока не будет введён 0.
Перепишите её, заменив бесконечный цикл на цикл while с условием.
Вот исходный код, который нужно дописать:
import java.util.Scanner;
class Praktikum {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int sum = 0; // Сумма
int input; // Ввод пользователя
while (true) {
input = scanner.nextInt();
if (input == 0) {
break;
}
sum = sum + input;
}
System.out.println("Сумма введённых чисел: " + sum);
}
}
Вот подсказка к решению:
- Цикл должен выполняться до тех пор, пока пользователь не введёт 0, то есть значение переменной input не равно нулю. Это и станет его
условием input != 0.- Переменной input нужно присваивать значение перед циклом и внутри него, так как считывать ввод пользователя придётся и там, и там.
Вот мой код, который компилятор не принимает:
import java.util.Scanner;
class Praktikum {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int sum = 0; // Сумма
int input; // Ввод пользователя
while (int input != 0) {
input = scanner.nextInt();
sum = sum + input;
}
if (int input == 0) {
break;
}
System.out.println("Сумма введённых чисел: " + sum);
}
}
Компилятор выдаёт следующее:
Вывод Ошибка препроцессинга: Не используйте break и while(true) Failed
compilation
Т.е., если я правильно понимаю, прерывать цикл с помощью break не разрешается. Но как тогда решить задачу? Или же я неправильно понимаю задание…
Заранее благодарю за помощь.
Как избежать ошибки компиляции при определении переменных
29.12.2019Язык программирования
Переменные. Переменная — это имя, присвоенное ячейке памяти. Это базовая единица хранения в программе.
- Значение, хранящееся в переменной, может быть изменено во время выполнения программы.
- Переменная — это только имя, присвоенное ячейке памяти, все операции над переменной влияют на эту ячейку памяти.
- Все переменные должны быть объявлены перед использованием.
Как объявить переменные?
Мы можем объявить переменные в общих языках (таких как C, C ++, Java и т. Д.) Следующим образом:
where: datatype: Type of data that can be stored in this variable. variable_name: Name given to the variable. value: It is the initial value stored in the variable.
Как избежать ошибок при создании переменных?
- Идентификатор не объявлен : на любом языке программирования все переменные должны быть объявлены перед использованием. Если вы попытаетесь использовать имя такого, которое еще не было объявлено, произойдет ошибка компиляции « необъявленный идентификатор ».
Пример:
#include <stdio.h>
int
main()
{
printf
(
"%d"
, x);
return
0;
}
Ошибки компиляции:
prog.c: In function 'main': prog.c:5:18: error: 'x' undeclared (first use in this function) printf("%d", x); ^ prog.c:5:18: note: each undeclared identifier is reported only once for each function it appears in
- Переменное не присваивается начальное значение : эта ошибка обычно возникает, когда переменная объявлена, но не инициализирована. Это означает, что переменная создана, но ей не присвоено значение. Следовательно, он примет значение по умолчанию. Но в языке C это может привести к ошибке, поскольку эта переменная может иметь значение мусора (или 0) в качестве значения по умолчанию. В других языках значение 0 будет его значением по умолчанию.
Пример:
#include <stdio.h>
int
main()
{
int
x;
printf
(
"%d"
, x);
return
0;
}
Выход:
0
- Использование переменной вне ее области действия. Область действия переменной — это часть программы, в которой переменная доступна. Как и в C / C ++, в Java все идентификаторы имеют лексическую (или статическую) область видимости, то есть область видимости переменной может быть определена во время компиляции и не зависит от стека вызовов функций.
Пример:
#include <stdio.h>
int
main()
{
{
int
x = 5;
}
printf
(
"%d"
, x);
return
0;
}
Ошибки компиляции:
prog.c: In function 'main': prog.c:5:18: error: 'x' undeclared (first use in this function) printf("%d", x); ^ prog.c:5:18: note: each undeclared identifier is reported only once for each function it appears in
Как исправить вышеприведенный код: объявите переменную x перед ее использованием во внешней области видимости. Или вы можете использовать уже определенную переменную x в своей области видимости
Пример:
#include <stdio.h>
int
main()
{
{
int
x = 5;
printf
(
"%d"
, x);
}
return
0;
}
Выход:
5
- Создание переменной с неверным типом значения: это возникает из-за того, что значения неявно или явно преобразуются в другой тип. Иногда это может привести к предупреждениям или ошибкам.
Пример:
#include <stdio.h>
int
main()
{
char
* x;
int
i = x;
printf
(
"%d"
, x);
return
0;
}
Предупреждение:
prog.c: In function 'main': prog.c:7:13: warning: initialization makes integer from pointer without a cast [-Wint-conversion] int i = x; ^
Рекомендуемые посты:
- Определение, создание и удаление коллекции MongoDB
- Как избежать NullPointerException в Java, используя дополнительный класс?
- Разница между ошибками времени компиляции и ошибками времени выполнения
- Как избежать выпадающего меню, чтобы закрыть пункты меню при нажатии внутри?
- Как исправить несанкционированную ошибку 401?
- Как проверить URL на 404 ошибки в PHP?
- JQuery | Метод error ()
- JavaScript | Имя ошибки Свойство
- Обработка ошибок в Perl
- Ошибка недоступного кода в Java
- JavaScript | Сообщение об ошибке Свойство
- Почему ошибка $ не определена произошла в jQuery?
- Как устранить неполадки общих кодов ошибок HTTP?
- Как решить ошибку «Отправить не является функцией» в JavaScript?
- Где PHP хранит журнал ошибок? (php5, apache, fastcgi, cpanel)
Как избежать ошибки компиляции при определении переменных
0.00 (0%) 0 votes
Есть такая задача:
Бесконечный цикл while (true) с прерыванием break применяется для решения достаточно ограниченного спектра задач. Чаще всего его удобнее заменить на цикл while с условием. Потренируйтесь это делать. Эта программа с помощью бесконечного цикла суммирует числа, которые вводит пользователь. Она работает до тех пор, пока не будет введён 0. Перепишите её, заменив бесконечный цикл на цикл while с условием.
Вот исходный код, который нужно дописать:
Java | ||
|
Вот подсказка к решению:
1. Цикл должен выполняться до тех пор, пока пользователь не введёт 0, то есть значение переменной input не равно нулю. Это и станет его условием input != 0.
2. Переменной input нужно присваивать значение перед циклом и внутри него, так как считывать ввод пользователя придётся и там, и там.
Вот мой код, который компилятор не принимает:
Java | ||
|
Компилятор выдаёт следующее:
Вывод
Ошибка препроцессинга: Не используйте break и while(true)
Failed compilation
Т.е., если я правильно понимаю, прерывать цикл с помощью break не разрешается. Но как тогда решить задачу? Или же я неправильно понимаю задание…
Заранее благодарю за помощь.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
Я новичок в программировании на Java, и когда я изучал некоторую теорию, я натолкнулся на термин «тестовые случаи». Теперь я знаю, что бессмысленно думать о тестовых примерах, когда у вас даже нет надежной работающей программы, но я хотел начать с малого.
Поэтому я написал очень простую программу, чтобы проверить, нет ли. на четное или нечетное.
и я добавил в него блок обработки исключений.
Вот код
import java.util.Scanner;
import java.util.InputMismatchException;
class eveodd
{
public static void main (String []args)
{
int num;
System.out.println("Enter the no. ");
try
{
Scanner a = new Scanner(System.in);
num=a.nextInt();
}
catch (InputMismatchException e)
{
System.out.println("Please only enter an integer");
}
finally
{
num=a.nextInt();
}
if (num%2==0)
{
System.out.println(" No. entered is an Even No. ");
}
else
{
System.out.println("No. entered is a Odd no. ");
}
}
}
И вот результат:
Подскажите пожалуйста, как это исправить.
Пожалуйста, измените код и выделите раздел жирным шрифтом
Спасибо всем
class a
{
private int num;
private Person p;
....
public int SomeMethod()
{
#IF someCondition
p = new Person();
num = 2;
p.Legs = num;
}
}
Решарпер говорит здесь, что оба поля не используются. Что неверно, т.е. зависит от условия. Как мне этого избежать?
Я искал похожие вопросы, нашел, но так и не понял, как решить эту проблему. Так что, пожалуйста, даже если этот вопрос повторяется, хотя бы подскажите, как мне это исправить.
1 ответ
Лучший ответ
Это просто Resharper пытается быть полезным (изначально комментарии должны быть вокруг блока #IF, это неверно)
Если вы окружите объявление переменной следующими комментариями, Resharper попросит исключить этот тест во время анализа этого блока кода.
// ReSharper disable UnusedVariable.Compiler
private int num;
private Person p;
// ReSharper restore UnusedVariable.Compiler
2
Pheonyx
16 Фев 2015 в 12:41
Я компилирую несколько библиотек на Ubuntu 12.04 x86_64. Сначала я скомпилировал библиотеки с помощью GCC 4.7.2, и все прошло хорошо. Затем я попытался перекомпилировать их с помощью Inte Composer 2013 u2. Для этой цели я сделал:
export CC=/opt/intel/composer_xe_2013.2.146/bin/intel64/icc
export CPP=/opt/intel/composer_xe_2013.2.146/bin/intel64/icpc
Тогда я бегу ./configure
и получил следующую ошибку:
checking how to run the C preprocessor... /opt/intel/composer_xe_2013.2.146/bin/intel64/icpc
configure: error: in `/var/www/workspace/freetype/freetype-2.4.11/builds/unix':
configure: error: C preprocessor "/opt/intel/composer_xe_2013.2.146/bin/intel64/icpc" fails sanity check
See `config.log' for more details
make: *** [setup] Error 1
Файл журнала конфигурации содержит эту ошибку:
configure:3345: checking how to run the C preprocessor
configure:3415: result: /opt/intel/composer_xe_2013.2.146/bin/intel64/icpc
configure:3435: /opt/intel/composer_xe_2013.2.146/bin/intel64/icpc conftest.c
conftest.c(14): error: identifier "Syntax" is undefined
Syntax error
^
conftest.c(14): error: expected a ";"
compilation aborted for conftest.c (code 2)
configure:3435: $? = 2
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "FreeType"
| #define PACKAGE_TARNAME "freetype"
| #define PACKAGE_VERSION "2.4.11"
| #define PACKAGE_STRING "FreeType 2.4.11"
| #define PACKAGE_BUGREPORT "freetype@nongnu.org"
| #define PACKAGE_URL ""
| /* end confdefs.h. */
| #ifdef __STDC__
| # include <limits.h>
| #else
| # include <assert.h>
| #endif
| Syntax error
configure:3435: /opt/intel/composer_xe_2013.2.146/bin/intel64/icpc conftest.c
conftest.c(14): error: identifier "Syntax" is undefined
Syntax error
^
conftest.c(14): error: expected a ";"
compilation aborted for conftest.c (code 2)
Что тут может быть не так?
3 ответы
Проблема вполне может заключаться в том, что GNU make неявная переменная, обозначающая «ваш компилятор C++», не является CPP
но CXX
, в то время как CPP
— неявная переменная, обозначающая «ваш препроцессор C»; Так что ваши
export CPP=/opt/intel/composer_xe_2013.2.146/bin/intel64/icpc
говорит configure
что icpc является препроцессором и оставляет CXX
предположительно по умолчанию используется g++.
Это поддерживается ./configure
ошибка:
проверка того, как запустить препроцессор C… /opt/intel/composer_xe_2013.2.146/bin/intel64/icpc
Пытаться:
export CXX=/opt/intel/composer_xe_2013.2.146/bin/intel64/icpc
или просто:
./configure CXX=/opt/intel/composer_xe_2013.2.146/bin/intel64/icpc
Создан 27 фев.
FWIW, я столкнулся с этим сегодня, и мое решение было
export CPP='<path to icpc> -E'
то есть указать configure, что препроцессор должен запускаться с -E
флаг.
ответ дан 05 авг.
Спасибо Menno, в моем случае экспорт не совсем сработал, но был близок к этому. Передача CPP=… для настройки помогла:
mkdir build
cd build
../configure --prefix=/usr/local/gcc/ CC=/usr/local/gcc/bin/gcc
CXX=/usr/local/gcc/bin/g++ CPP='/usr/local/gcc/bin/g++ -E'
ответ дан 11 авг.
Не тот ответ, который вы ищете? Просмотрите другие вопросы с метками
linux
compiler-errors
configure
icc
or задайте свой вопрос.
My log files org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:compileReleaseJavaWithJavac'. at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:100) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70) at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51) at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:62) at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54) at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:60) at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:97) at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:87) at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52) at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52) at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54) at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43) at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34) at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.run(DefaultTaskGraphExecuter.java:248) at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336) at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328) at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199) at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110) at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:241) at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:230) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java:123) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.access$200(DefaultTaskPlanExecutor.java:79) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:104) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:98) at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:626) at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:581) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:98) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:59) at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:128) at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37) at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37) at org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23) at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43) at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:46) at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37) at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30) at org.gradle.initialization.DefaultGradleLauncher$ExecuteTasks.run(DefaultGradleLauncher.java:314) at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336) at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328) at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199) at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110) at org.gradle.initialization.DefaultGradleLauncher.runTasks(DefaultGradleLauncher.java:204) at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:134) at org.gradle.initialization.DefaultGradleLauncher.executeTasks(DefaultGradleLauncher.java:109) at org.gradle.internal.invocation.GradleBuildController$1.call(GradleBuildController.java:78) at org.gradle.internal.invocation.GradleBuildController$1.call(GradleBuildController.java:75) at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:152) at org.gradle.internal.invocation.GradleBuildController.doBuild(GradleBuildController.java:100) at org.gradle.internal.invocation.GradleBuildController.run(GradleBuildController.java:75) at org.gradle.tooling.internal.provider.runner.BuildModelActionRunner.run(BuildModelActionRunner.java:53) at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35) at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35) at org.gradle.tooling.internal.provider.ValidatingBuildActionRunner.run(ValidatingBuildActionRunner.java:32) at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$1.run(RunAsBuildOperationBuildActionRunner.java:43) at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336) at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328) at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199) at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110) at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner.run(RunAsBuildOperationBuildActionRunner.java:40) at org.gradle.tooling.internal.provider.SubscribableBuildActionRunner.run(SubscribableBuildActionRunner.java:51) at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:47) at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:30) at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:39) at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:25) at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:80) at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:53) at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:57) at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:32) at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:36) at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:25) at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:43) at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:29) at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:69) at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:30) at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:59) at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:44) at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:45) at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:30) at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:67) at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122) at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122) at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122) at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122) at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74) at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72) at org.gradle.util.Swapper.swap(Swapper.java:38) at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122) at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:55) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122) at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:62) at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122) at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:82) at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122) at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50) at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:295) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) at java.lang.Thread.run(Thread.java:748) Caused by: org.gradle.api.internal.tasks.compile.CompilationFailedException: Compilation failed; see the compiler error output for details. at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:50) at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:35) at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.delegateAndHandleErrors(NormalizingJavaCompiler.java:98) at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:51) at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:37) at org.gradle.api.internal.tasks.compile.CleaningJavaCompilerSupport.execute(CleaningJavaCompilerSupport.java:35) at org.gradle.api.internal.tasks.compile.CleaningJavaCompilerSupport.execute(CleaningJavaCompilerSupport.java:25) at org.gradle.api.internal.tasks.compile.incremental.IncrementalCompilationFinalizer.execute(IncrementalCompilationFinalizer.java:39) at org.gradle.api.internal.tasks.compile.incremental.IncrementalCompilationFinalizer.execute(IncrementalCompilationFinalizer.java:24) at org.gradle.api.tasks.compile.JavaCompile.performCompilation(JavaCompile.java:207) at org.gradle.api.tasks.compile.JavaCompile.compile(JavaCompile.java:133) at com.android.build.gradle.tasks.factory.AndroidJavaCompile.compile(AndroidJavaCompile.java:125) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73) at org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute(IncrementalTaskAction.java:46) at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:39) at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:26) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:121) at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336) at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328) at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199) at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:110) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:92) ... 107 more
`defaultConfig {
applicationId «com.*.s«
minSdkVersion 14
targetSdkVersion 27
multiDexEnabled true
ndk {
moduleName "player_shared"
}
}
buildTypes {
release {
minifyEnabled false
shrinkResources false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
sourceSets.main {
jni.srcDirs = []// <-- disable automatic ndk-build call
}
dependencies {
compile (‘com.google.android.gms:play-services:+’)
compile files(‘libs/dagger-1.2.2.jar’)
compile files(‘libs/javax.inject-1.jar’)
compile files(‘libs/nineoldandroids-2.4.0.jar’)
compile (‘com.android.support:multidex:1.0.1’)
compile ‘com.google.android.gms:play-services-ads:11.+’
compile ‘com.google.android.gms:play-services-location:11.+’
}`
Есть такая задача:
Бесконечный цикл while (true) с прерыванием break применяется для
решения достаточно ограниченного спектра задач. Чаще всего его удобнее
заменить на цикл while с условием. Потренируйтесь это делать. Эта
программа с помощью бесконечного цикла суммирует числа, которые вводит
пользователь. Она работает до тех пор, пока не будет введён 0.
Перепишите её, заменив бесконечный цикл на цикл while с условием.
Вот исходный код, который нужно дописать:
import java.util.Scanner;
class Praktikum {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int sum = 0; // Сумма
int input; // Ввод пользователя
while (true) {
input = scanner.nextInt();
if (input == 0) {
break;
}
sum = sum + input;
}
System.out.println("Сумма введённых чисел: " + sum);
}
}
Вот подсказка к решению:
- Цикл должен выполняться до тех пор, пока пользователь не введёт 0, то есть значение переменной input не равно нулю. Это и станет его
условием input != 0.- Переменной input нужно присваивать значение перед циклом и внутри него, так как считывать ввод пользователя придётся и там, и там.
Вот мой код, который компилятор не принимает:
import java.util.Scanner;
class Praktikum {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int sum = 0; // Сумма
int input; // Ввод пользователя
while (int input != 0) {
input = scanner.nextInt();
sum = sum + input;
}
if (int input == 0) {
break;
}
System.out.println("Сумма введённых чисел: " + sum);
}
}
Компилятор выдаёт следующее:
Вывод Ошибка препроцессинга: Не используйте break и while(true) Failed
compilation
Т.е., если я правильно понимаю, прерывать цикл с помощью break не разрешается. Но как тогда решить задачу? Или же я неправильно понимаю задание…
Заранее благодарю за помощь.
https://blog.csdn.net/jdjdndhj/article/details/70256989
Сообщение об ошибке сообщения:
Ошибка отчетности:
Версия Java в проекте несовместима, вы можете просмотреть конфигурацию JDK в проекте.
1, проверьте JDK (Ctrl + Alt + Shift + S)
File ->Project Structure->Project Settings ->Project
2, просмотр JDK (Ctrl + Alt + Shift + S)
Файл -> Структура проекта-> Настройки проекта -> Модули -> (Требуется изменение имени проекта) -> Источники ->
3, просмотр конфигурации Java в идее
Причина ошибки здесь в том, что конфигурация версии Java в среде программного обеспечения IDea отличается, и конфигурация установлена для решения проблемы.
Из-за подобных вопросов, вызванных Java Versions:http://blog.csdn.net/jdjdndhj/article/details/70256789
Есть такая задача:
Бесконечный цикл while (true) с прерыванием break применяется для решения достаточно ограниченного спектра задач. Чаще всего его удобнее заменить на цикл while с условием. Потренируйтесь это делать. Эта программа с помощью бесконечного цикла суммирует числа, которые вводит пользователь. Она работает до тех пор, пока не будет введён 0. Перепишите её, заменив бесконечный цикл на цикл while с условием.
Вот исходный код, который нужно дописать:
Java | ||
|
Вот подсказка к решению:
1. Цикл должен выполняться до тех пор, пока пользователь не введёт 0, то есть значение переменной input не равно нулю. Это и станет его условием input != 0.
2. Переменной input нужно присваивать значение перед циклом и внутри него, так как считывать ввод пользователя придётся и там, и там.
Вот мой код, который компилятор не принимает:
Java | ||
|
Компилятор выдаёт следующее:
Вывод
Ошибка препроцессинга: Не используйте break и while(true)
Failed compilation
Т.е., если я правильно понимаю, прерывать цикл с помощью break не разрешается. Но как тогда решить задачу? Или же я неправильно понимаю задание…
Заранее благодарю за помощь.
class a
{
private int num;
private Person p;
....
public int SomeMethod()
{
#IF someCondition
p = new Person();
num = 2;
p.Legs = num;
}
}
Решарпер говорит здесь, что оба поля не используются. Что неверно, т.е. зависит от условия. Как мне этого избежать?
Я искал похожие вопросы, нашел, но так и не понял, как решить эту проблему. Так что, пожалуйста, даже если этот вопрос повторяется, хотя бы подскажите, как мне это исправить.
1 ответ
Лучший ответ
Это просто Resharper пытается быть полезным (изначально комментарии должны быть вокруг блока #IF, это неверно)
Если вы окружите объявление переменной следующими комментариями, Resharper попросит исключить этот тест во время анализа этого блока кода.
// ReSharper disable UnusedVariable.Compiler
private int num;
private Person p;
// ReSharper restore UnusedVariable.Compiler
2
Pheonyx
16 Фев 2015 в 12:41