我的代码的问题是,即使输入元音,它也不会停止循环,当我试图将代码传输到在线编译器时,它说
Exception in thread "main" java.util.NoSuchElementException
at java.base/java.util.Scanner.throwFor(Scanner.java:937)
at java.base/java.util.Scanner.next(Scanner.java:1478)
at Main.main(Main.java:12)
然而,在名为java的应用程序中,它工作得很好。
以下是代码:
Sc
错误如下:在线程"main“java.lang.StringIndexOutOfBoundsException中出现异常:字符串索引超出范围:9 at java.lang.String.charAt(String.java:658) at palindrom.Palindrom.main(Palindrom.java:30)
我可以跨越这个问题,发现有多个人在线处理相同的问题。
我一直在尝试:
new MongoClient(new ServerAddress("0.0.0.0", 27017), mongoClientBuilder.build());
我还尝试了"localhost"和"127.0.0.1",但没有成功。在线提出的问题具有相同的堆栈跟踪:
INFO: Exception in monitor thread while connecting to server localhost:27017
com.mongodb.MongoSocketOp
从Java 5开始,volatile关键字具有发布/获取语义,以使副作用对其他线程可见(包括分配给非易失性变量!)。以这两个变量为例:
int i;
volatile int v;
请注意,i是一个常规的、非易失性变量。假设线程1执行以下语句:
i = 42;
v = 0;
在以后的某个时候,线程2执行以下语句:
int some_local_variable = v;
print(i);
根据Java内存模型,在线程1中写入v,在线程2中读取v,确保线程2看到在线程1中执行的对i的写入,因此输出值42。
我的问题是:volatile在C#中是否具有相同的发布/获取语义?