当我使用Java 8 Stream.of原始类型时,结果很混乱

byte[] a = {1,2,3}; System.out.println(Stream.of(a).count()); Byte[] b = {1,2,3}; System.out.println(Stream.of(b).count()); 结果是1和3,为什么?

使用Android的媒体播放器时出现NullPointerException

我有两个按钮,它会发出声音来通知正确的选择,或者错误的选择。 我是这样做的: MediaPlayer playError = MediaPlayer.create(QuizActivity.this, R.raw.error); playError.start(); 与正确的声音相同。 它在大多数情况下工作正常,但当我多次点击它时,随机时间我得到这个错误: 基本上它说行playError.start(); 给我NullPointerException (有时只) 07-21 23:05:32.767: ERROR/PlayerDriver(1287): Command PLAYER_PREPARE completed with an error or info PVMFErrResource, -17 07-21 23:05:32.767: ERROR/MediaPlayer(14449): error (1, -17) 07-21 23:05:32.767: ERROR/MediaPlayer(14449): MEDIA_ERROR(mPrepareSync) signal application thread 07-21 23:05:32.777: ERROR/AndroidRuntime(14449): FATAL EXCEPTION: main 07-21 23:05:32.777: ERROR/AndroidRuntime(14449): java.lang.NullPointerException 07-21 23:05:32.777: ERROR/AndroidRuntime(14449): at com.quiz.QuizActivity.falseAnswerPoints(QuizActivity.java:148) 07-21 […]

为什么\ n和(String)System.getProperty(“line.separator”); 行为不同?

我的程序接受一个文本文件的输入,其中每个单词都用换行符分隔,我的程序接受并处理数据,然后我需要在保持控制台输出的同时输出到新文件。 现在我想知道为什么当我将“\ n”附加到我的stringBuilder时,它将它打印出来,因为它在控制台中有一个新行,但是在文件输出中,它不会将它作为一个新行而只是将所有单词放在一行中。 当我使用newLine时,它只在我的控制台输出和输出文件中给出一个新行。 这是为什么? (String)System.getProperty(“line.separator”)做了什么导致这个? String newLine = (String)System.getProperty(“line.separator”); try{ BufferedReader fileIn = new BufferedReader(new FileReader(fileName)); stringBuilder.append(newLine); while((s = fileIn.readLine()) != null){ stringBuilder.append(s); stringBuilder.append(newLine);//using newLine, } String a = stringBuilder.toString(); if(s== null){ fileIn.close(); }

Android:java.lang.Enum类型无法解析

我下载了Android的浏览器项目(来自git)并将其导入Eclipse。 但由于以下错误,我无法构建它: 无法解析java.lang.Enum类型。 它是从所需的.class文件间接引用的 现在……这是一个非常适合其他项目的开发环境: Windows 7旗舰版64位。 JDK 64位(安装了jdk-6u23-windows-x64.exe。) Eclipse Classic 3.6 64位(eclipse-SDK-3.6.1-win32-x86_64.zip) Android 2.3 SDK入门套餐 所以我不确定问题可能在哪里。 我该如何解决这个问题?

动态编程 – 改变

我在查找动态硬币更改问题的最后一段代码时遇到了麻烦。 我已经包含了以下代码。 我无法弄清楚最后的else 。 我应该在那时使用贪婪算法,还是可以根据表中已有的值计算答案? 我努力尝试理解这个问题,我觉得我很接近。 该方法通过创建表并使用存储在表中的结果来解决较大的问题而不使用递归,从而找到进行特定更改所需的最小硬币数量。 public static int minCoins(int[] denom, int targetAmount){ int denomPosition; // Position in denom[] where the first spot // is the largest coin and includes every coin // smaller. int currentAmount; // The Amount of money that needs to be made // remainingAmount = 0 ; denomPosition–) { for(currentAmount […]

javac:找不到文件:first.java用法:javac

我在记事本++中的桌面上保存了一个名为“first.java”的文件名。 当我运行cmd命令“javac first.java”时,它给了我这个错误。 javac: file not found: first.java Usage: javac 我知道你需要去C:\ Programfiles \ java \ jdk。 在我的C:\ Program Files \ Java \我有theEE文件夹 “jdk1.8.0”“jre6”“jre8” 在C:\ Program Files(x86)\ Java中我有这个文件夹 “JRE6” 环境设置如下 CLASSPATH C:\ Program Files \ Java \ jre8 \ bin 变量名称:LEJOS_NXT_JAVA_HOME 变量值:C:\ Program Files(x86)\ Java \ jdk1.6.0_21 \ bin 路径 变量名称:PATH 变量值:C:\ Program Files \ Java […]

在JButton内部执行的最终变量是否需要?

所以我有一个JList ,我试图在JButton的actionPerformed方法中使用它,它要求我让JList final为什么是这样,下面是一个代码片段 public SomeClass() { btnNewButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { list.clearSelection(); }}); } 我实际上没有问题让它成为最终的,我只是不确定为什么我需要。

使用Sun.audio在java中播放音频

我只想执行一项简单的任务。 (我是一个java新手)。 我想在点击按钮时播放音频片段。 这是我的代码的一部分(我通过从Youtube复制教程完全做到了。) private void btnPlayActionPerformed(java.awt.event.ActionEvent evt) { InputStream in; try{ in=new FileInputStream(new File(“C:\\Users\\Matt\\Documents\\dong.wav”)); AudioStream timeupsound=new AudioStream(in); AudioPlayer.player.start(timeupsound); } catch(Exception e){ JOptionPane.showMessageDialog(null, e); } } 但问题是,这不起作用。 它抛出并抛出IOException:“无法从输入流创建音频流”。 我的问题是,我做错了什么? (因为我清楚地看到这个代码在youtubevideo中工作,我使用了相同的代码。请帮助。再一次,我是新手);

如何在仍然下载文件的同时显示每秒传输速率

我需要提供一个显示每秒大小传输速率的function。 我必须使用我的java代码从web下载文件,并在下载文件时显示每秒的传输速率。 请注意下面的代码不完全是我的,它是从这里获取下面的代码只能计算下载完成后的传输速率,但我目前不知道如何使代码每秒显示传输速率,任何概念的想法或代码建议? public static void main(String argc[]) throws Exception { long totalDownload = 0; // total bytes downloaded final int BUFFER_SIZE = 1024; // size of the buffer byte[] data = new byte[BUFFER_SIZE]; // buffer BufferedInputStream in = new BufferedInputStream( new URL( “http://ipv4.download.thinkbroadband.com:8080/5MB.zip”) .openStream()); int dataRead = 0; // data read in each try […]

如何为独立客户端设置Glassfish 3.1.2的JNDI?

我尝试从独立的swing客户端(在客户端计算机上的单独JVM中运行)连接到Glassfish服务器。 我目前使用Netbeans的以下设置,一切正常: System.setProperty(“java.naming.factory.initial”, “com.sun.enterprise.naming.SerialInitContextFactory”); System.setProperty(“java.naming.factory.url.pkgs”, “com.sun.enterprise.naming”); System.setProperty(“java.naming.factory.state”, “com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl”); System.setProperty(“org.omg.CORBA.ORBInitialHost”, “192.168.1.3”); System.setProperty(“org.omg.CORBA.ORBInitialPort”, “3700”); InitialContext context = new InitialContext(); 但是当我尝试通过键入“java -jar client.jar”从控制台启动编译的客户端时,我收到以下错误: D:\workspace\gf-client\dist>java -jar gf-client.jar 17.08.2012 11:07:38 ch.client.core.ServerContext getInitialContext SCHWERWIEGEND: Cannot instantiate class: com.sun.enterprise.naming.SerialInitContextFactory javax.naming.NoInitialContextException: Cannot instantiate class: com.sun.enterprise.naming.SerialInitContextFactory [Root exception is java.lang.ClassNotFoundException: com.sun.enterprise.naming.SerialInitContextFactory] at javax.naming.spi.NamingManager.getInitialContext(Unknown Source) at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source) at javax.naming.InitialContext.init(Unknown Source) at javax.naming.InitialContext.(Unknown Source) at […]