我在几乎所有的系统上都会看到“令牌语法错误,请删除这些令牌”。出来系统第一个实例后的println文本。出来普林顿。我不知道这意味着什么,也不知道如何解决?我是一个非常新的开始,所以这个代码中可能有多个错误。我还得到了“令牌上的语法错误”“Double is”“无效的AssignmentOperator”“和”“squared is”“,以及无效的AssignmentOperator”错误。这是一个类的作业,最终结果应该是n的对立面,n是y的两倍是y,n的一半是y,n的平方是y,n的倒数是y,n的十分之一是y,y的平方是z,n减去n的最后一位是y,n和n的和1,n 2是y谢谢!
import java.util.Scanner;
public class Arithmetic {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter an integer: ");
int n = scanner.nextInt();
int opposite = n*-1;
System.out.println("The opposite of" n "is" opposite);
int twoTimes = n*2;
System.out.println(n "doubled is" twoTimes);
int half = n/2;
System.out.println("half of "n "is" half);
int square= n*n;
System.out.println(n "squared is" square);
int reciprocal= 1/n;
System.out.println("the reciprocal of" n "is" reciprocal);
double fraction = n*.10;
double fractionTwo = fraction*fraction;
System.out.println("one-tenth of" n "is" fraction "and" fraction "squared is" fractionTwo);
// int lastDigit =
// System.out.println();
int sum= n+1;
int sumTwo= n+2;
int sumTotal= sum + sumTwo;
System.out.println("the sum of" n "and" sum "and" sumTwo "is" sumTotal);
}
}
**此外,如果有人愿意帮助我找出“n1”/“n2”公式,以及如何在代码中格式化,我将不胜感激!
这不是你连接(链接)两个字符串的方式!
这个代码和其他类似的代码,
System.out.println(n "doubled is" twoTimes);
是错误的。
我想你是想把n
,"倍增是"
和twoTimes
连在一起,对吧?
现在你正在用空格连接它们。但是Java中的空格字符不会连接字符串。这就是编译器抱怨的原因。
在Java中,都是用来做加法和串接的!所以你应该把上面的修改为:
System.out.println(n + "doubled is" + twoTimes);
但是等等!你的车位去哪了?这是因为不会自动为您添加空间,您需要自己添加。
System.out.println(n + " doubled is " + twoTimes);
或者,您可以使用String.format
来格式化字符串。这个啊
/* Explanation: n will be "inserted" to the first %d and twoTimes will
be inserted to the second %d. And %d basically means "express the thing in
decimal"*/
String.format("%d doubled is %d", n, twoTimes)
和
n + " doubled is " + twoTimes
关于你的公式问题:
在Java中,有两种不同的数字类型,int
和double
。(实际上还有很多,但它们是不相关的)int
和double
在分开时做不同的事情。它们有不同的文字。
5
是int
literal,5.0
是double
literal。看见没有小数点的数字称为int
s,有小数点的数字称为double
s。
你的配方有什么问题?我们先来看看把int
和双
分割的结果是什么
int / int: 1 / 5 = 0
int / double: 1 / 5.0 = 0.2
double / int: 1.0 / 5 = 0.2
double / double: 1.0 / 5.0 = 0.2
int / 0: 1 / 0 = Exception!
double / 0: 1.0 / 0 = NaN
在代码中:
int reciprocal= 1/n;
和其他类似的行,您正在执行int
的除法。这就是为什么上面的代码不起作用。你应该做的是把其中一个数字换成双份!并且还将类型更改为双
。
double reciprocal = 1.0 / n;
------ ---
changes here as well!
这段代码有一些错误。
System.out.println("The opposite of" n "is" opposite);
应该是:
System.out.println("The opposite of" + n + "is" + opposite);
当我们想要组合字符串时,我们使用符号。
我已经将我的组合语法分解为两种Lexer和Parser语法: 组合语法非常简单,如: 然后我创建了一个FluentLexer。g4带有lexer规则和FluentParser。g4带有解析器规则。 然后我在FluentParser上导入了FluentLexer语法。 我尝试了两种选择: > 在Fluent Grammar中使用导入FluentLexer: 具有选项结构: <代码>选项{语言=Jav
问题内容: 我正在使用nltk,因此我想创建自己的自定义文本,就像nltk.books上的默认文本一样。但是,我只是想起像 我想发现任何输入“文本”的方式: python或nltk的哪种方法允许我执行此操作。更重要的是,我如何消除标点符号? 问题答案: 这实际上是在nltk.org的主页上:
这是我的XML解析器语法: 和lexer: 但是,当我使用以下命令检索C#代码中的STRING位时,这是有效的: 我把文本用引号括起来,比如:“hello”,而不是hello。因此,我尝试将解析器语法更改为: 或 我得到了错误:“无法在非组合语法中为字符串文字创建隐式标记” 我很困惑,为什么解析器语法中允许“=”而不是引号,以及如何更改解析器以检索没有引号的文本。而且,lexer似乎已经处理掉了引
问题内容: 我有一个文本文件,其中包含用’|’分隔的数据。我需要获取每个字段(以“ |”分隔)并对其进行处理。文本文件可以显示如下: ABC | DEF || FGHT 我正在使用字符串令牌生成器(JDK 1.4)来获取每个字段值。现在的问题是,我应该在DEF之后得到一个空字符串,但是我没有在DEF和FGHT之间得到空白。 我的结果应该是 -ABC,DEF,“”,FGHT, 但我正在获取 ABC,
问题内容: 我正在用Java 实现分流场算法,这是我的AP计算机科学课的一个附带项目。我已经用Javascript实现了一个简单的脚本,只带有基本的算术表达式(加法,减法,乘法,除法,求幂)。要将其拆分为数组,我要做的是找到每个运算符()以及数字和括号,然后在它们周围放置一个空格,然后将其拆分为数组。例如,将infix字符串制成,然后在空白处分割。 但是,我感觉这种方法非常慢,并且在您开始添加数学
有人能告诉我这个: 在第二行,我得到一个错误。但这行得通: 我需要更多的文字后,我打印的名称。有人知道怎么做吗?