“此处不允许”void’类型”错误(Java)

当我尝试编译时: import java.awt.* ; class obj { public static void printPoint (Point p) { System.out.println (“(” + px + “, ” + py + “)”); } public static void main (String[]arg) { Point blank = new Point (3,4) ; System.out.println (printPoint (blank)) ; } } 我收到此错误: obj.java:12: ‘void’ type not allowed here System.out.println (printPoint (blank)) […]

recyclerview水平滚动到左边

我正在制作一个应用程序,我正在使用带有snaphelper类的recyclerview来制作可滚动的水平cardstack我已经成功实现了但是我的问题是卡向右滑动方向并且我想在左方向上刷卡。 我做了一些关于SO的研究,发现这个RecyclerView水平滚动按钮在中心 SnapHelper项目位置但是我仍然无法弄清楚如何设置滚动位置向左而不是正确请任何帮助将不胜感激更新:我还在努力很难理解,因为在recyclerview中改变滚动方向仍然很困难,所以任何人都想帮助我。 我还发现findsnapView方法传递滚动位置和方向可能我错了但是代码可能是解决方案 **@Override public View findSnapView(RecyclerView.LayoutManager layoutManager) { if (layoutManager instanceof LadderLayoutManager) { int pos = ((LadderLayoutManager) layoutManager).getFixedScrollPosition( mDirection, mDirection != 0 ? 0.8f : 0.5f); mDirection = 0; if (pos != RecyclerView.NO_POSITION) { return layoutManager.findViewByPosition(pos); } } return null; }** 我的主要课程 public class MainActivity extends AppCompatActivity { LadderLayoutManager llm; RecyclerView rcv; HSAdapter […]

java自动装箱/拆箱如何工作?

从JDK 5.0开始,在java中引入了自动装箱/拆箱function,这个技巧简单而有用,但是当我开始测试包装器类和原始类型之间的不同转换时,我真的很困惑,例如自动装箱的概念在java中是如何工作的,例如: 拳击 int intValue = 0; Integer intObject = intValue; byte byteValue = 0; intObject = byteValue; // ==> Error 在尝试不同的情况( short , long , float , double )之后,编译器接受的唯一情况是当effectation运算符右边的值的类型为int 。 当我查看Integer.class的源代码时,我发现它只实现了一个带有int参数的构造函数。 所以我的结论是自动装箱的概念是基于包装类中实现的构造函数。 我想知道这个结论是否属实,还是有自动拳击使用的另一个概念? 拆箱 Integer intObject = new Integer(0); byte byteValue = intObject; // ==> Error (the same Error with short) int intValue = […]

没有赋值的Java三元组

有没有办法在没有做任务的情况下进行java三元操作或假冒伪造? 我喜欢做一堆if / then / elses时简洁的三元代码看起来如何。 我希望能够基于布尔代数语句调用两个void函数之一。 就像是: (bool1 && bool2) ? voidFunc1() : voidFunc2(); 我的函数是返回类型为void ,所以如果有一种方法可以在赋值中伪造它以使其工作,那么我对此很好……我想看看如何做到这一点:)

用Java绘制一个简单的折线图

在我的程序中,我想绘制一个简单的分数线图。 我有一个文本文件,每行都是一个整数分数,我读入并希望作为参数传递给我的图形类。 我在实现图形类时遇到了一些麻烦,我见过的所有示例都将它们的方法与它们的主要方法放在同一个类中,我不会这样做。 我希望能够将我的数组传递给对象并生成一个图形,但是在调用我的paint方法时,它要求我使用Graphics g …这是我到目前为止所拥有的: public class Graph extends JPanel { public void paintGraph (Graphics g){ ArrayList scores = new ArrayList(10); Random r = new Random(); for (int i : scores){ i = r.nextInt(20); System.out.println(r); } int y1; int y2; for (int i = 0; i < scores.size(); i++){ y1 = scores.get(i); y2 = […]

从命令行运行包中的java

我已阅读以前发布的问题。 有些是模糊的,没有一个解决我的问题,所以我不得不再问。 我有两个简单的类, package One; import One.Inner.MyFrame; public class test { public static void main(String args[]) { MyFrame f= new MyFrame(); } } 另一类是, package One.Inner; import java.awt.*; import javax.swing.*; public class MyFrame extends JFrame { public MyFrame() { setPreferredSize(new Dimension(400,560)); setVisible(true); } } 我在Windows cmd中的基本文件夹“基本”。 我编译使用 basic> javac *.java -d . 创建文件夹和子文件夹。 cd One […]

在xml元素中获取属性值

我有一个像这样的xml字符串,我想在每个元素的循环中获取“name”的属性值。 我怎么做? 我正在使用javax.xml.parsers库。 Calendar Year 200 350 400 $320.00 670 8000 60 10 12 $250.00 false false Immediate Not Applicable 这就是我到现在为止所要做的 DocumentBuilderFactory dbc = DocumentBuilderFactory.newInstance(); DocumentBuilder dbuilder; try { dbuilder = dbc.newDocumentBuilder(); Document doc = dbuilder.parse(new InputSource(new StringReader(plan.getProvisions()))); NodeList nl = doc.getElementsByTagName(“Item”); for(int i = 0 ; i < nl.getLength(); i++){ if(i == row){ Element […]

SwingPropertyChangeSupport动态更新JTextArea

我正在尝试建立有关SwingPropertyChangeSupport的问题的答案 我试图在非常有用的Hovercraft Full Of Eels的答案中修改这里给出的代码: WindowListener不能按预期工作 ,以允许在通过输入对话框输入更改时更新显示的数组。 数组已更新,但未在GUI中刷新。 我希望有人能告诉我哪里出错了。 这是代码: import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.FocusListener; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextArea; import javax.swing.event.SwingPropertyChangeSupport; public class Main { public static void main(String[] arg) { GuiForUpdate display = new GuiForUpdate(); display.setVisible(true); } } class GuiForUpdate extends […]

多个弹跳球螺纹问题

我创建了一个程序,可以生成多个具有随机颜色,速度和半径的弹跳球。 当用户点击屏幕时,应出现一个新的随机球并在屏幕上移动。 但我有一个multithreading问题。 当我点击屏幕时,会出现一个球并且根本不会移动。 当另一次点击没有任何反应时。 BouncingBalls Class public class BouncingBalls extends JPanel implements MouseListener{ private Ball ball; protected List balls = new ArrayList(20); private Container container; private DrawCanvas canvas; private int canvasWidth; private int canvasHeight; public static final int UPDATE_RATE = 30; int x = random(480); int y = random(480); int speedX = random(30); int […]

你怎么玩一个长的AudioClip?

我写了一个简单的类来在一个简单的游戏中播放音频文件。 它适用于枪声或爆炸等小声音,但当我尝试将它用于背景音乐时,我收到此错误:“无法分配剪辑数据:请求的缓冲区太大。” 我假设这意味着文件太大,但我怎么能解决这个问题呢? 资源: import java.io.File; import javax.sound.sampled.AudioInputStream; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.Clip; public class Sound{ private Clip clip; public Sound(String filepath){ System.out.println(filepath); File file = new File(filepath); try { clip = AudioSystem.getClip(); AudioInputStream inputStream = AudioSystem.getAudioInputStream(file); clip.open(inputStream); } catch (Exception e) { System.err.println(e.getMessage()); } } public void play(){ System.out.println(“play”); if(clip.isActive()){ clip.stop(); } clip.setFramePosition(0); clip.start(); } […]