小编Dan*_*n W的帖子

ArrayList.add()方法导致NullPointerException

LongInteger类在运行时导致以下错误:

Exception in thread "main" java.lang.NullPointerException
at LongInteger.breakString(LongInteger.java:38)
at LongInteger.<init>(LongInteger.java:17)
at LongInteger.main(LongInteger.java:149)
Run Code Online (Sandbox Code Playgroud)

以下是一些相关的课程摘录:

public class LongInteger extends Object {
private ArrayList<String> storedStrings;          


  // Constructor
 public LongInteger(String s) {
    this.setInputString(s);
    this.breakString(this.inputString);       //Exception @ line 17
}

 /**
  * the purpose of this method is to break the input string into an 
  * ArrayList<String> where each String has a length of 9 or less.
  */
 private void breakString(String s){         
    if(s.length()>9){
        storedStrings.add(0,s.substring(s.length()-9,s.length()));
        this.breakString(s.substring(0,s.length()-9));
    } else {
        this.storedStrings.add(0,s);        //Exception @ line 38
    }
 } …
Run Code Online (Sandbox Code Playgroud)

java arraylist nullpointerexception

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

Java将byte []转换为图像

我知道这似乎是一个常见的问题,但我在互联网上四处浏览,并尝试了许多不同的教程和方法来执行此操作。我想我很近,但不确定。我也正在使用Play Framework,但对于Java应该是相同的。这是我的错误

javax.image.IIOException: I/O error reading PNG header!
   at com.sun.plugins.png.PNGImageReader.readHeader(Unknown Source)
   ...
   ...
Caused by: java.io.EOFException
at javax.imageio.stream.ImageInputStreamImpl.readFully(Unknown Source)
  ...
Run Code Online (Sandbox Code Playgroud)

这是我的代码,在其中我从表单中获取图片并将图像转换为byte []并存储在MS SQL db中。

@Transactional
public static Result submitTrailer(){
     filledForm = newTrailerForm.bindFromRequest();
     MultipartFormData body = request().body().asMultipartFormData();
     FilePart picture = body.getFile("file");
     String fileName = picture.getFilename();
     System.out.println(fileName);
     String contentType = picture.getContentType(); 
     System.out.println(contentType);
     final File file = picture.getFile();
     filledForm.get().setContentType(contentType);

     try{
     BufferedImage originalImage = ImageIO.read(file);
     ByteArrayOutputStream baos = new ByteArrayOutputStream();
     ImageIO.write(originalImage, contentType, baos);

     filledForm.get().setImage(baos.toByteArray());
     baos.flush();
     baos.close();
     filledForm.get().save();
     }catch(IOException e){
         e.printStackTrace();
     }

    return ok(views.html.index.index.render());
} …
Run Code Online (Sandbox Code Playgroud)

java sql playframework javax.imageio

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

Java线程在运行完成后会做什么?

在一个游戏中,我正在使用一个线程的许多实例,并且它不会跟踪它们.

clientThread cT = new clientThread(socket);
new Thread(cT).start();
Run Code Online (Sandbox Code Playgroud)

我需要知道的是,当胎面的一个实例完成时(所有的循环都已经完成并且不再使用它),就像一个方法的实例一样,它被丢弃了吗?或者我需要使用一段特殊代码来丢弃它吗?

java sockets multithreading

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

使用 Java 将文件移动到 HDFS

如何使用Java执行hadoop put文件到hdfs中?这可能吗?

使用这个语句:

public abstract boolean rename(Path src, Path dst) throws IOException
Run Code Online (Sandbox Code Playgroud)

谢谢!

java hadoop text-files hdfs

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

递归解释

今天在Java课程中,教授提出了这个例子,但是我真的不能很好地理解如何通过这种方法来获得结果的过程= 4.可以任何一个身体请尽可能清楚地说明一些线条怎么这个方法解决了?谢谢好,所以这是方法:

public static int mystery(int[] values, int start, int value)
{
    if(start == values.length) {
        return value;
    }
    else
        return Math.max(value, mystery(values, start+1, values[start]));
}
Run Code Online (Sandbox Code Playgroud)

java recursion

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

将json从文件转换为java对象

我试图将json从文本文件转换为java对象.

我已经尝试了两个jackson库,我放入了依赖,什么不是.我的json文件有驼峰大小写和下划线,这在运行我的程序时会导致错误.这是我在与gson librar相关时使用的代码,它没有做任何事情,输出是相同的,有或没有我放置的代码.

  java.net.URL url = this.getClass().getResource("/test.json");
          File jsonFile = new File(url.getFile());
          System.out.println("Full path of file: " + jsonFile);
try 
      {

         BufferedReader br = new BufferedReader(new FileReader("/test.json"));

         // convert the json string back to object
         DataObject obj = gson.fromJson(br, DataObject.class);

         System.out.println(obj);

      } catch (IOException e) 
      {
         e.printStackTrace();
      }
Run Code Online (Sandbox Code Playgroud)

现在我也尝试了杰克逊图书馆.这是我使用的代码

java.net.URL url = this.getClass().getResource("/test.json");
      File jsonFile = new File(url.getFile());
      System.out.println("Full path of file: " + jsonFile);

ObjectMapper mapper = new ObjectMapper();
       mapper.setPropertyNamingStrategy(PropertyNamingStrategy.CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES);
       InputStream is = Test_Project.class.getResourceAsStream("/test.json");
       SampleDto testObj = mapper.readValue(is, SampleDto.class); …
Run Code Online (Sandbox Code Playgroud)

java json

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

从其他类调用非静态方法

我正在完成我的任务,并遇到了一些错误.在一个班级我有这个方法:

public class Class1{
    public static boolean winningRecord(){
        final int WINNING_RECORD;
        return Class2.getPoints() > WINNING_RECORD;
    }
}

class Class2{
    int wins = 0;
    public int getPoints(){
        return wins; //More to it but to keep it simple I'll leave that out
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我收到错误"非静态方法无法从静态上下文引用...",所以我使getPoints()成为一个静态方法,使变量也是静态的,并且它可以工作.但是在打印对象的另一种方法中,它不起作用(我相信这是因为static关键字).

所以我的问题是,有一种方法可以在不创建第二个类的实例的情况下调用方法吗?这是我的一般想法代码,它应该让你了解正在发生的事情,如果没有,我会添加更多.

java

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