Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何修复Java中的语法问题?_Java - Fatal编程技术网

如何修复Java中的语法问题?

如何修复Java中的语法问题?,java,Java,嗨,我对java世界很陌生。我正在尝试用java编写一些程序。我正在使用java在线编辑器工具。下面是我编写的程序,我正在尝试运行,但在这中间我开始遇到编译问题 import java.util.Arrays; import java.util.PriorityQueue; import java.util.Queue; public class Solution { public static void main(String[] args) { myMetho

嗨,我对java世界很陌生。我正在尝试用java编写一些程序。我正在使用java在线编辑器工具。下面是我编写的程序,我正在尝试运行,但在这中间我开始遇到编译问题

import java.util.Arrays;

import java.util.PriorityQueue;

import java.util.Queue;

public class Solution {

    public static void main(String[] args) {
        myMethod();
    }
    static void myMethod()
    {
        int[] arrival2 = new int[] {3, 1, 3, 5};

        int[] duration2 = new int[] {3, 2, 2, 2};

        int[][] events = new int[arrival2.length][2];

        for (int i = 0; i < arrival2.length; i++) {

        events[i] = new int[] {arrival2[i], arrival2[i] + duration2[i]};

        }

        Arrays.sort(events,(a,b)->(a[1]-b[1]));

        Queue<int[]> minHeap = new PriorityQueue<>((a, b) -> a[1] - b[1]);

        int[] first = events[0];

        for (int i = 1; i < events.length; i++) {

        int[] cur = events[i];

        if (cur[0] < first[1])

            minHeap.offer(cur);

        else {
            first[1] = events[i][1];

        }
        }

    System.out.println(arrival2.length - minHeap.size());   
    }
}
导入java.util.array;
导入java.util.PriorityQueue;
导入java.util.Queue;
公共类解决方案{
公共静态void main(字符串[]args){
myMethod();
}
静态void方法()
{
int[]arrival2=新的int[]{3,1,3,5};
int[]duration2=新的int[]{3,2,2,2};
int[][]事件=新int[arrival2.length][2];
for(int i=0;i<2.length;i++){
事件[i]=newint[]{arrival2[i],arrival2[i]+duration2[i]};
}
sort(事件,(a,b)->(a[1]-b[1]);
Queue minHeap=new PriorityQueue((a,b)->a[1]-b[1]);
int[]first=事件[0];
for(int i=1;i
上面的代码是抛出下面的错误

Solution.java:26: error: ')' expected
        Arrays.sort(events,(a,b)->(a[1]-b[1]));
                             ^
Solution.java:26: error: illegal start of expression
        Arrays.sort(events,(a,b)->(a[1]-b[1]));
                                 ^
Solution.java:26: error: ';' expected
        Arrays.sort(events,(a,b)->(a[1]-b[1]));
                                             ^
Solution.java:28: error: ')' expected
        Queue<int[]> minHeap = new PriorityQueue<>((a, b) -> a[1] - b[1]);
                                                     ^
Solution.java:28: error: illegal start of expression
        Queue<int[]> minHeap = new PriorityQueue<>((a, b) -> a[1] - b[1]);
                                                           ^
Solution.java:28: error: ';' expected
        Queue<int[]> minHeap = new PriorityQueue<>((a, b) -> a[1] - b[1]);
                                                                        ^
6 errors
应为
Solution.java:26:错误:')'
sort(事件,(a,b)->(a[1]-b[1]);
^
java:26:错误:表达式的非法开始
sort(事件,(a,b)->(a[1]-b[1]);
^
java:26:错误:';'预期
sort(事件,(a,b)->(a[1]-b[1]);
^
Solution.java:28:错误:“)”应为
Queue minHeap=new PriorityQueue((a,b)->a[1]-b[1]);
^
java:28:错误:表达式的非法开始
Queue minHeap=new PriorityQueue((a,b)->a[1]-b[1]);
^
java:28:错误:';'预期
Queue minHeap=new PriorityQueue((a,b)->a[1]-b[1]);
^
6个错误
下面是屏幕截图


有人能帮我解决这个问题吗?任何帮助都将不胜感激。谢谢

您的IDE似乎是一个低于8的java版本。您正在使用Java8

正如我所看到的,输出是代码的3部分,它编译得很好。 检查您的Java版本。 使用Java8版本

导入java.util.array;
导入java.util.PriorityQueue;
导入java.util.Queue;
公共类解决方案{
公共静态void main(字符串[]args){
myMethod();
}
静态void方法(){
int[]arrival2=新的int[]{3,1,3,5};
int[]duration2=新的int[]{3,2,2,2};
int[][]事件=新int[arrival2.length][2];
for(int i=0;i<2.length;i++){
事件[i]=newint[]{arrival2[i],arrival2[i]+duration2[i]};
}
sort(事件,(a,b)->(a[1]-b[1]);
Queue minHeap=new PriorityQueue((a,b)->a[1]-b[1]);
int[]first=事件[0];
for(int i=1;i
此代码已通过编译。也许您是用旧的Java版本(Java 8之前)编译的。我使用的是Java 7。好吧,您不能在Java 7中使用lambda表达式。那么我们需要使用哪个版本?Java 8或更高版本。我改为Java 8并编译了。现在我只犯了三个错误。1.Solution.java:26:error:“)”应为array.sort(事件(a,b)->(a[1]-b[1]);2.java:26:error:nota语句数组.sort(事件(a,b)->(a[1]-b[1]);3.java:26:错误:';'预期的数组。sort(事件(a,b)->(a[1]-b[1]);您正在使用的IDE。分享java配置的屏幕截图我在上面的问题中添加了屏幕截图。我正在参加黑客等级练习考试;导入java.util.PriorityQueue;导入java.util.Queue;现在查看更新的答案
import java.util.Arrays;
import java.util.PriorityQueue;
import java.util.Queue;
public class Solution {   
      public static void main(String[] args) {
        myMethod();
    }
    static void myMethod() {
        int[] arrival2 = new int[] { 3, 1, 3, 5 };
        int[] duration2 = new int[] { 3, 2, 2, 2 };
        int[][] events = new int[arrival2.length][2];
        for (int i = 0; i < arrival2.length; i++) {
            events[i] = new int[] { arrival2[i], arrival2[i] + duration2[i] };
        }
        Arrays.sort(events, (a, b) -> (a[1] - b[1]));
        Queue<int[]> minHeap = new PriorityQueue<>((a, b) -> a[1] - b[1]);
        int[] first = events[0];
        for (int i = 1; i < events.length; i++) {
            int[] cur = events[i];
            if (cur[0] < first[1])
                minHeap.offer(cur);
            else {
                first[1] = events[i][1];
            }
        }
        System.out.println(arrival2.length - minHeap.size());
    }
}