小编nul*_*ull的帖子

目标不是JDK根.找不到系统库.Eclipse Oxygen 4.7 + Java9错误

我正在尝试使用Eclipse Oxygen IDE测试JDK9(jdk-9-ea + 147版本).

我已经安装了jdk和jre.来自Eclipse Market Place我已经安装了Java9 Beta扩展:

在此输入图像描述

问题是,当我尝试从Eclipse添加新安装的jre时,我收到以下错误:

在此输入图像描述

有趣的是,以前的JDK版本的安装不会发生此错误:

在此输入图像描述

是否有人遇到Eclipse Oxygen的simillar问题?任何反馈都表示赞赏.

java eclipse java-9 eclipse-oxygen

16
推荐指数
4
解决办法
3万
查看次数

实现相同接口的多个类的方法相同

对不起,我真的不知道如何标题,这是问题所在......

我有一个接口和多个实现接口的类.接口中某些方法的实现在每个实现类中都是完全相同的.我觉得应该有一种简化方法,所以我不必每次都写相同的代码.例:

public interface Foo {
    String getName();
}

public class FooImpl1 implements Foo {
    private String name = "foo name1";

    public String getName() {
        return name;
    }
}

public class FooImpl2 implements Foo {
    private String name = "foo name2";

    public String getName() {
        return name;
    }
}
Run Code Online (Sandbox Code Playgroud)

所以打破..

  1. 有没有办法将getName的代码放在一个地方,每个类都有自己的名称变量?

  2. 有没有办法使getName静态,所以我不必创建一个新的实例

有更好的想法吗?

java abstract-class interface

14
推荐指数
1
解决办法
7378
查看次数

JFrame getHeight()和getWidth()返回0

我正在做一个简单的乒乓球比赛; 并且部分碰撞力学需要获得画布的宽度和高度以重定向球.然而,getWidth()getHeight()由于某些原因返回0.这是主要的代码块.

package pong;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Main extends JPanel {

    static int gameSpeed = 10;
    Ball ball = new Ball(this);

    private void move() {
        ball.move();
    }

    public void paint(Graphics g) {
        super.paint(g);
        Graphics2D g2d = (Graphics2D) g;
        ball.paint(g2d);
    }

    public static void main(String args[]) throws InterruptedException {
        JFrame frame = new JFrame("Pong");
        Main game = new Main();
        frame.add(game);
        frame.setSize(400, 400);
        frame.setVisible(true);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        while (true) {
            game.move();
            game.repaint();
            Thread.sleep(gameSpeed);
        }
    } …
Run Code Online (Sandbox Code Playgroud)

java swing paint jpanel thread-sleep

5
推荐指数
1
解决办法
6195
查看次数

在java中读取大型CSV文件(数百万行)时出现内存不足错误

我在 Java 中读取大型 CSV 文件时出现内存不足错误。我该如何处理这个问题。我增加了堆大小,我也尝试使用 BufferedReader,但仍然存在同样的问题。这是我的代码

public class CsvParser {
    public static void main(String[] args) {
        try {
            FileReader fr = new FileReader((args.length > 0) ? args[0] : "data.csv");
            Map<String, List<String>> values = parseCsv(fr, " ", true);
            System.out.println(values);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static Map<String, List<String>> parseCsv(Reader reader, String separator, boolean hasHeader)
            throws IOException {
        Map<String, List<String>> values = new LinkedHashMap<String, List<String>>();
        List<String> columnNames = new LinkedList<String>();
        BufferedReader br = null;
        br = new BufferedReader(reader);
        String …
Run Code Online (Sandbox Code Playgroud)

java csv

5
推荐指数
1
解决办法
6966
查看次数

在java字符串数组中找到最短的单词

我试图编写一个代码来接受一组单词,并返回字符长度中的最小单词.很简单,出于某种原因,当有一个较短的单词时,它会返回'bye',例如'no'.

public class function2 {

    public static void main(String [] args) {
        String [] SA = {"hello", "goodbye", "jack", "bye", "yes", "no", "yoo"};
        smallest(SA);
        System.out.println("The shortest word is " + smallest(SA));
    }

    public static String smallest(String SA[]) {
        String first = SA[0];
        for (int i = 1 ; i < SA.length ; i++) {
            if ((SA[i].compareTo(first)) < 0) {
                first = SA[i];
            } // if
        } // for
        return first;
    }// smallest
}// lab1b
Run Code Online (Sandbox Code Playgroud)

java debugging

3
推荐指数
1
解决办法
8274
查看次数

android market:// details?id =不适用于app

Android market://details?id=<pname>链接不适用于我的其中一个应用,这让我感到疯狂.我拉我的头发有没有人有任何想法?这是我的"Wrap It Up Box"链接,只是出现"Not Found" "The requested item could not be found."(下面的最后一个链接).如果您搜索Wrap It Up Box它显示就好了,只是直接链接到它不起作用.

public void onClick(View v){
        switch (v.getId()){
        case R.id.morebubrubsoundboardBtn:
            Intent goToMarket = null;
            goToMarket = new Intent(Intent.ACTION_VIEW,Uri.parse("market://details?id=com.jayavon.bubrubsoundboard"));
            startActivity(goToMarket);
        break;
        case R.id.morefarmvillehelperBtn:
            Intent goToMarket1 = null;
            goToMarket1 = new Intent(Intent.ACTION_VIEW,Uri.parse("market://details?id=com.jayavon.farmvillehelper"));
            startActivity(goToMarket1);
        break;
        case R.id.morefarmvillehelperfreeBtn:
            Intent goToMarket2 = null;
            goToMarket2 = new Intent(Intent.ACTION_VIEW,Uri.parse("market://details?id=com.jayavon.farmvillehelperfree"));
            startActivity(goToMarket2);
        break;
        case R.id.morefishvillehelperBtn:
            Intent goToMarket3 = null;
            goToMarket3 = new Intent(Intent.ACTION_VIEW,Uri.parse("market://details?id=com.jayavon.fishvillehelper"));
            startActivity(goToMarket3);
        break;
        case R.id.morefishvillehelperfreeBtn:
            Intent goToMarket4 = null;
            goToMarket4 …
Run Code Online (Sandbox Code Playgroud)

java android android-intent google-play

2
推荐指数
1
解决办法
5万
查看次数

PrintWriter创建文件但不写入

我在某个网站上使用了示例代码,它看起来像这样:

package gdt.enlightening;

import notify.*;
import javax.swing.*;
import java.io.*;
import java.util.logging.Level;
import java.util.logging.Logger;

public class export {
    public static void Export(String path) {

        try {
            // Package.json
            File file = new File(path + "/package.json");

            FileWriter pw = new FileWriter(file);
            pw.write("test");
            pw.write("Hi!");

            pw.write("    \"id\": \"" + main.packageID + "\",\r\n");
            pw.write("    \"name\": \"test\",");

            notify.Notify.info("GDT Enlightening", "Finished exporting without errors.");
        } catch (Exception e) {
            System.out.println(e.toString());
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

它创建文件但完全为空.我似乎没弄明白为什么.我需要一个"文件"对象吗?

我在这里尝试了不同的解决方案,但它不起作用.我也玩过打印方法.

编辑:通过调用固定pw.close()在年底

java printwriter

2
推荐指数
1
解决办法
4821
查看次数

无法在Windows 64位上安装Scrapy

我试图在我的Windows 7 64位机器上安装Scrapy.我开始按照Scrapy文档中的说明进行操作.

我起身直到命令'pip install Scrapy'.一切正常,除了它找不到'libxml2':

Could not find function xmlCheckVersion in library libxml2. Is libxml2     installed?
Run Code Online (Sandbox Code Playgroud)

然后我访问了这个网站以获取以下二进制文件libxml2:

ftp://ftp.zlatkovic.com/libxml/64bit/

安装说明libxml2如下:https://www.zlatkovic.com/libxml.en.html

他们声明你应该解压缩二进制文件并将BIN文件夹的内容放在路径中C:\WINDOWS.我这样做了 但是,在尝试再次安装Scrapy后,我仍然收到相同的错误.有什么我想念的吗?

python pip scrapy python-2.7

2
推荐指数
1
解决办法
6120
查看次数

如何使用循环填充 FXCollections.observableArrayList?[javafx]

这是我的代码的一部分

for (Object o : materia2) {
    String v = o.toString();
    datos = FXCollections.observableArrayList(new Tabla(v));
}
Run Code Online (Sandbox Code Playgroud)

其中通过列表(List materia2)将该列表的每个元素转换为字符串,然后是完整的 FXCollections.observableArrayList(新表(v));其中“v”是转换的每个字符串,但只有列表中的最后一项是 sponds,我的问题是,正如我所做的那样,列表的每个元素都正确显示。

java javafx list

1
推荐指数
1
解决办法
8088
查看次数

尝试用Java实现通过SMTP发送邮件,却出现“AUTH LOGIN failed”错误

在过去的几天里,我一直在用头撞桌子,试图找出为什么在尝试实现 Java 代码以通过公司的 Outlook 服务器发送电子邮件时不断出现以下错误:

DEBUG SMTP: Attempt to authenticate using mechanisms: LOGIN PLAIN DIGEST-MD5 NTLM XOAUTH2 
DEBUG SMTP: Using mechanism LOGIN
DEBUG SMTP: AUTH LOGIN command trace suppressed
DEBUG SMTP: AUTH LOGIN failed
Exception in thread "main" javax.mail.AuthenticationFailedException: 535 5.7.0 authentication failed
    at com.sun.mail.smtp.SMTPTransport$Authenticator.authenticate(SMTPTransport.java:932)
    at com.sun.mail.smtp.SMTPTransport.authenticate(SMTPTransport.java:843)
    at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:748)
    at javax.mail.Service.connect(Service.java:388)
    at javax.mail.Service.connect(Service.java:246)
    at javax.mail.Service.connect(Service.java:195)
    at javax.mail.Transport.send0(Transport.java:254)
    at javax.mail.Transport.send(Transport.java:124)
Run Code Online (Sandbox Code Playgroud)

这是有问题的代码:

import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;

public class SendEmail3 {

    public static void main(String[] args) throws Exception { …
Run Code Online (Sandbox Code Playgroud)

java email outlook smtp

0
推荐指数
1
解决办法
2万
查看次数

输入文本时,JText区域会扩展

任何人都可以告诉我为什么滚动条不会显示在这段代码中?相反,当我输入越来越多的文本时,文本区域会不断扩展.

JFrame displayframe = new JFrame("All Details");
displayframe.setLayout(new FlowLayout());

JTextArea text = new JTextArea(allDetails);
text.setSize(350,200);
text.setEditable(false);

JScrollPane scroll = new JScrollPane(text);
scroll.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED);

displayframe.getContentPane().add(text,scroll);
displayframe.setSize(400, 600);
displayframe.setVisible(true);
Run Code Online (Sandbox Code Playgroud)

谢谢,杰西卡

java swing jtextarea jscrollbar

-1
推荐指数
1
解决办法
88
查看次数

在java上只取一个输出

这是一个我知道的简单问题,但我对此感到困惑.我试图获得这样的输出;

CourseG, CourseF and CourseE are available
Run Code Online (Sandbox Code Playgroud)

但我的输出是这样的;

CourseE is available
CourseG, CourseF, CourseE are available
CourseF and CourseE are available
Run Code Online (Sandbox Code Playgroud)

我的算法是;

if(a == 1){
    System.out.println("CourseE is available");
}
if(a ==1 && b == 1 && c == 1){
    System.out.println("CourseG, CourseF, CourseE are available");
}
if(a == 1 && b == 1){
    System.out.println("CourseF and CourseE are available");
}
else{
    System.out.println("no available Course");
}
Run Code Online (Sandbox Code Playgroud)

感谢您的关注.

java if-statement

-4
推荐指数
1
解决办法
83
查看次数