Java 代码可以在intellij中工作,但不能在hackerrank ide中工作
我正在做一个关于hackerrank的问题: 我用intellij编写了这个解决方案,它在那里给了我正确的输出,但是当我把它复制到hackerrank ide时,它给了我一个错误 这就是我所说的代码:Java 代码可以在intellij中工作,但不能在hackerrank ide中工作,java,runtime-error,Java,Runtime Error,我正在做一个关于hackerrank的问题: 我用intellij编写了这个解决方案,它在那里给了我正确的输出,但是当我把它复制到hackerrank ide时,它给了我一个错误 这就是我所说的代码: import java.io.*; import java.math.*; import java.security.*; import java.text.*; import java.util.*; import java.util.concurrent.*; import java.util
import java.io.*;
import java.math.*;
import java.security.*;
import java.text.*;
import java.util.*;
import java.util.concurrent.*;
import java.util.function.*;
import java.util.regex.*;
import java.util.stream.*;
import static java.util.stream.Collectors.joining;
import static java.util.stream.Collectors.toList;
class Results {
/*
* Complete the 'countSwaps' function below.
*
* The function accepts INTEGER_ARRAY a as parameter.
*/
public static void countSwaps(List<Integer> a) {
int count = 0;
boolean flag = false;
while (!flag) {
flag = true;
for (int i = 0; i < a.size() - 1; i++) {
if (a.get(i) > a.get(i + 1)) {
int temp = a.get(i);
a.set(i, a.get(i + 1));
a.set(i + 1, temp);
flag = false;
count++;
}
}
}
System.out.println(String.format(
"Array is sorted in %d swaps.%n" +
"First Element: %d%n" +
"Last Element: %d%n",
count,
a.get(0),
a.get(a.size() - 1)));
}
public static class Solution {
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(bufferedReader.readLine().trim());
List<Integer> a = Stream.of(bufferedReader.readLine().replaceAll("\\s+$", "").split(" "))
.map(Integer::parseInt)
.collect(toList());
Results.countSwaps(a);
bufferedReader.close();
}
}
}
import java.io.*;
导入java.math.*;
导入java.security.*;
导入java.text.*;
导入java.util.*;
导入java.util.concurrent.*;
导入java.util.function.*;
导入java.util.regex.*;
导入java.util.stream.*;
导入静态java.util.stream.Collectors.joining;
导入静态java.util.stream.Collectors.toList;
课堂成绩{
/*
*完成下面的“countSwaps”功能。
*
*函数接受整数数组作为参数。
*/
公共静态交换(列表a){
整数计数=0;
布尔标志=假;
while(!flag){
flag=true;
对于(int i=0;ia.get(i+1)){
int temp=a.get(i);
a、 set(i,a.get(i+1));
a、 设置(i+1,温度);
flag=false;
计数++;
}
}
}
System.out.println(String.format(
“数组按%d次交换排序。%n”+
“第一个元素:%d%n”+
“最后一个元素:%d%n”,
计数
a、 得到(0),
a、 获取(a.size()-1));
}
公共静态类解决方案{
公共静态void main(字符串[]args)引发IOException{
BufferedReader BufferedReader=新的BufferedReader(新的InputStreamReader(System.in));
int n=Integer.parseInt(bufferedReader.readLine().trim());
列表a=Stream.of(bufferedReader.readLine().replaceAll(“\\s+$”,“”)。拆分(“”)
.map(整数::parseInt)
.collect(toList());
结果:countSwaps(a);
bufferedReader.close();
}
}
}
这是错误:无法找到或加载主类解决方案
你知道我为什么会在这里出错吗?如何修复它。您已将解决方案类放在结果类中。HackerRank希望您将解决方案类作为自己的类,如下所示:
import java.io.*;
导入java.math.*;
导入java.security.*;
导入java.text.*;
导入java.util.*;
导入java.util.concurrent.*;
导入java.util.function.*;
导入java.util.regex.*;
导入java.util.stream.*;
导入静态java.util.stream.Collectors.joining;
导入静态java.util.stream.Collectors.toList;
课堂成绩{
/*
*完成下面的“countSwaps”功能。
*
*函数接受整数数组作为参数。
*/
公共静态交换(列表a){
整数计数=0;
布尔标志=假;
while(!flag){
flag=true;
对于(int i=0;ia.get(i+1)){
int temp=a.get(i);
a、 set(i,a.get(i+1));
a、 设置(i+1,温度);
flag=false;
计数++;
}
}
}
System.out.println(String.format(
“数组按%d次交换排序。%n”+
“第一个元素:%d%n”+
“最后一个元素:%d%n”,
计数
a、 得到(0),
a、 获取(a.size()-1));
}
}
类解决方案{
公共静态void main(字符串[]args)引发IOException{
BufferedReader BufferedReader=新的BufferedReader(新的InputStreamReader(System.in));
int n=Integer.parseInt(bufferedReader.readLine().trim());
列表a=Stream.of(bufferedReader.readLine().replaceAll(“\\s+$”,“”)。拆分(“”)
.map(整数::parseInt)
.collect(toList());
结果:countSwaps(a);
bufferedReader.close();
}
}
请检查代码语法并阅读IDE给出的错误。它确实明确地告诉您,
错误:无法找到或加载主类解决方案
,只要快速检查一下自动缩进就会发现问题。在线编码竞赛平台通常要求您遵守某些提交规则
见:
import java.io.*;
导入java.math.*;
导入java.security.*;
导入java.text.*;
导入java.util.*;
导入java.util.concurrent.*;
导入java.util.function.*;
导入java.util.regex.*;
导入java.util.stream.*;
导入静态java.util.stream.Collectors.joining;
导入静态java.util.stream.Collectors.toList;
公共类解决方案
{
/*
*完成下面的“countSwaps”功能。
*
*函数接受整数数组作为参数。
*/
公共静态void countswap(列表a)
{
整数计数=0;
布尔标志=假;
while(!flag)
{
flag=true;
对于(inti=0;ia.get(i+1))
{
int temp=a.get(i);
a、 set(i,a.get(i+1));
a、 设置(i+1,温度);
flag=false;
计数++;
}
}
}
System.out.println(String.format)(“数组按%d次交换排序。%n”+
“第一个元素:%d%n”+
“最后一个元素:%d%n”,
计数
a、 get(0),a.get(a.size()-1));
}
公共静态void main(字符串[]args)引发IOException
{
缓冲读取器缓冲读取器=
新的BufferedReader(新的InputStreamReader(System.in));
intn=Integer.parseInt(bufferedReader.readLine().trim());
列表a=
Stream.of(bufferedReader.readLine().replaceAll(“\\s+$”,
).split(“”)。
map(Integer::parseInt).collect(toList());