当我把NOT运算符(!)时,它显示错误 包com.learnJava.first;
> library('lubridate')
> library('dplyr')
>
> InvoiceDate <- c('2011-01-10 09:58:00', '2011-02-15 09:52:00', '2011-03-03 10:59:00')
> CustomerID <- c(111, 111, 111)
>
> dat <- data.frame('Invo' = InvoiceDate, 'ID' = CustomerID)
>
> dat %>% mutate('Delta' = as_date(Invo) - as_date(lag(Invo)))
Invo ID Delta
1 2011-01-10 09:58:00 111 NA days
2 2011-02-15 09:52:00 111 36 days
3 2011-03-03 10:59:00 111 16 days
答案 0 :(得分:6)
您需要使用the bitwise complement operator, ~
,而不是the logical complement operator, !
。
但是,您的代码似乎有点不匹配:您的类名为LogicalOpTable
,但您使用的是按位运算符,而不是逻辑运算符。
如果您确实想要执行逻辑操作,请使用boolean
值代替int
s。
如果你真的想做按位操作,请为你的类命名,这样就不会让人感到困惑;)
答案 1 :(得分:1)
一年后,但是,嘿,也许它仍然相关。
我在这个练习中遇到了同样的问题,但我采取了不同的方式。如果我没有弄错,p和q最初是布尔类型,任务是修改表格以显示1和0而不是真和假。
我所做的是将每个表达式作为一个整体从boolean转换为int(例如int a =(!p)?1:0;)并将其替换为其余代码的变量(例如System.out。 println(..... + a);)