我读char直到'\ n',将它们转换为int并将这些数字求和,直到结果只有一位。
我不能使用mod或。
第一次运行顺利,但第二次继续运行,不等到\ n。
保留'\ n'的任何理由?
E/AndroidRuntime: FATAL EXCEPTION: main
Process: accentra.in, PID: 4655
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.content.Context.startActivity(android.content.Intent)' on a null object reference
at accentra.in.UserViewHolder$2.onClick(UserViewHolder.java:112)
at android.view.View.performClick(View.java:6310)
at android.view.View$PerformClick.run(View.java:24970)
at android.os.Handler.handleCallback(Handler.java:794)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:176)
at android.app.ActivityThread.main(ActivityThread.java:6662)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)
I/Process: Sending signal. PID: 4655 SIG: 9
Process 4655 terminated.
TIA
答案 0 :(得分:1)
您的代码中有多个问题。其中一些是
scanf("%s", &c);
是错误的。 c
是char
,您必须为此使用%c
转换说明符。
您从未检查过return value of scanf()
调用以确保成功。
在扫描字符输入时,您没有清除任何现有输入的缓冲区。缓冲区中已经存在的任何现有字符,包括换行符('\n'
)将被视为%c
的有效输入。在读取字符输入之前,需要清除缓冲区。