我试图解决codechef问题,我能够在IDE中获得输出,也可以使用自定义输入,当我尝试使用这些输入运行时,它会给我错误
问题链接:https://www.codechef.com/problems/HS08TEST
代码:
/* package codechef; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
import java.text.DecimalFormat;
/* Name of the class has to be "Main" only if the class is public. */
class Codechef
{
public static void main (String[] args) throws java.lang.Exception
{
Scanner input = new Scanner(System.in);
int numberOne = input.nextInt();
float numberTwo = input.nextFloat();
float reduction = 0;
float result = 0;
DecimalFormat df2 = new DecimalFormat(".00");
if(numberOne > 0 && numberOne <= 2000 & numberTwo >= 0 && numberTwo <= 2000){
if(numberOne % 5 == 0){
reduction = (float)numberOne+(0.50f);
if(reduction <= numberTwo){
result = numberTwo-reduction;
System.out.println(df2.format(result));
}
if(reduction > numberTwo){
System.out.println(df2.format(numberTwo));
}
}
else{
System.out.println(df2.format(numberTwo));
}
}
}
}
错误:
异常线程"main"java.util.NoSuchElement异常java.util.Scanner.throwFor(Scanner.java:862)java.util.Scanner.next(Scanner.java:1485)atjava.util.canner.next国际(Scanner.java:2117)java.util.canner.next国际(Scanner.java:2076)odechef.main(Main.java:14)
一件简单的事对我来说很有用。。。。我只是用try-and-catch来包围代码。。。。
最终工作代码...
/* package codechef; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Codechef
{
public static void main (String[] args) throws java.lang.Exception
{
try{
int n, sum = 0;
Scanner s = new Scanner(System.in);
n = s.nextInt();
int a[] = new int[n];
for(int i = 0; i < n; i++)
{
a[i] = s.nextInt();
}
int largest=0;
int element=0;
for(int i = 0; i < n; i++){
for(int j=0;j<n;j++){
element=a[i]%a[j];
if(largest<element){
largest=element;
}
}
}
System.out.println(largest);
}
catch(Exception e){
}
}
}
您没有占用输入值之间的空间。
只需使用nextLine读取第一行,然后相应地拆分和解析数字
“错误”是由于输入不能作为所需类型进行分析造成的(即,Scanner
不能将输入解析为int
或float
)
“一个”解决方案是获取输入并手动解析它。您可以使用nextLine
并在上面运行另一个Scanner
,或者在公共分隔符上拆分,或者您可以简单地使用Next
,例如...
import java.text.DecimalFormat;
import java.util.Scanner;
class Codechef {
public static void main(String[] args) throws java.lang.Exception {
Scanner input = new Scanner(System.in);
String element = input.next(); // Next value up to the next space or new line...
int numberOne = Integer.parseInt(element);
element = input.next(); // Next value up to the next space or new line...
float numberTwo = Float.parseFloat(element);
float reduction = 0;
float result = 0;
DecimalFormat df2 = new DecimalFormat(".00");
if (numberOne > 0 && numberOne <= 2000 & numberTwo >= 0 && numberTwo <= 2000) {
if (numberOne % 5 == 0) {
reduction = (float) numberOne + (0.50f);
if (reduction <= numberTwo) {
result = numberTwo - reduction;
System.out.println(df2.format(result));
}
if (reduction > numberTwo) {
System.out.println(df2.format(numberTwo));
}
} else {
System.out.println(df2.format(numberTwo));
}
}
}
}
这假设输入通常在一行上提供,但此方法允许您处理两个独立的输入。但如果不确切知道输入是什么,就很难提供更精确的解决方案
我正在尝试运行这段代码,它用于检查设置是否正确: 我所做的所有谷歌搜索都让我一遍又一遍地检查本地库,我很确定我做得对。当我在这个项目的构建路径中找到库时,JRE系统库和Slick2D都会说本地库的位置:…/windows/x64。我只尝试过…/windows,我尝试过JRE没有本地位置。我遵循了两个不同的教程来学习如何做到这一点,并且在尝试运行这段简单代码时不断出现错误。有什么帮助吗?
虽然相同的代码在NetBeans IDE中工作,但它在eclipse上给出了这个错误!在运行代码并输入后,我得到了这个错误 线程“main”java.lang.noClassDeffounder异常错误:net/sourceforge/jfuzzylogic/fis在pkt.resturant.(resturant.java:17)在pkt.program.main(program.java:15
在HTML文件中,当我将光标定位在元素的开头时(例如 ),VS CODE将正确选择结束标记( )。 另一方面,如果我创建了一个包含HTML的PHP文件,则不会发生这种情况。如果我将自己定位在标记的开头(例如 ),那么VS CODE将为我选择任何代码段的所有div标记,这使得我无法理解标记( )的关闭位置。 这也发生在其他元素或属性中,如:class、section、id、p等,就好像它找到了所有与
我在后端使用Axios时遇到了问题。这可能是一个非常简单的修复,因为我是新手。 邮递员:对于有效和无效的凭据都收到正确的响应。 axios:对于有效的crendentials会收到正确的响应,但是当输入无效的凭据时,axios方法的catch块会运行。
以下是我的原始html代码: 而我只是想把三个div.box移动到div.container,但是当我直接粘贴的时候,就会是这样的,只是拳头线有正确的缩进: 我按照指示在设置中禁用aotoInent,但没有工作,那么如何处理它?
我的石头、布、剪刀游戏出错了: 代码: