如何解决java中的双精度问题

可能重复: Java浮动和双打,如何避免0.0 + 0.1 + … + 0.1 == 0.9000001? 如何在java android中克服双乘法的精度问题?请注意我将字符串值转换为double值。 例如:当我乘以两个双倍值时: double d1 = Double.valueOf(“0.3”).doubleValue() * Double.valueOf(“3”).doubleValue(); System.out.println(“Result of multiplication : “+d1); 我得到以下结果:0.8999999999999999 我得到的一些结果是。 0.6 * 3 = 1.7999999999999998; 0.2 * 0.2 = 0.04000000000000001; 等等 我希望得到以下结果,而不是上述结果。 0.3 * 3 = 0.9; 0.6 * 3 = 1.8; 0.2 * 0.2 = 0.04; 请记住,我不是要将它四舍五入到最接近的整数。

Java:来自class.getResource(…)的NullPointerException

我正在编写一个小应用程序,当我尝试创建一个ImageIcon时,我总是遇到exception。 这个例外代码引起了exception: prayerLevel.setIcon(new ImageIcon(getClass().getResource(“/icons/icon_prayer.png”))); 现在在我的程序中,文件夹/ icons /确实存在。 我不知道它是否有所不同但是类文件在一个包中,其中icons文件夹在项目文件夹中(当你看到bin和src文件夹时)。 我已经四处寻找,我找不到可以帮助我解决问题的解决方案。 也许你们中的任何人都可以帮忙吗? 编辑:有人要求我的文件夹层次结构: 我知道类文件与图标不在同一文件夹中,但是我已经创建了应用程序,我必须从不同的文件夹加载文件并执行/文件夹/始终用于工作。 编辑2: System.out.println(getClass().getResource(“/icons/icon_prayer.png”) == null); 打印真实。

JTable Boolean.class

import java.awt.BorderLayout; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.table.AbstractTableModel; import javax.swing.table.TableModel; class ColorTableModel extends AbstractTableModel { Object rowData[][] = { { “value1”, Boolean.FALSE }, { “value1”, Boolean.FALSE }, { “value1”, Boolean.FALSE }, { “value1”, Boolean.FALSE}, { “value1”, Boolean.FALSE }, }; String columnNames[] = { “English”, “Boolean” }; public int getColumnCount() { return columnNames.length; } […]

是否可以在Selenium Webdriver Java中使用driver.switchTo()。frame(“frameName”)切换到框架中的元素?

我有一个多个嵌套框架,我需要访问这些框架下的元素。 由于这些帧是动态的,我无法访问这些元素。 我是否可以在不使用driver.switchTo()的情况下访问元素.frame() 喜欢直接使用xpath或jquery,javascript或其他什么? 欢迎任何建议

不兼容的类型ListList和ArrayList的ArrayList

以下行给出了错误: Incompatible Types. List<List> output = new ArrayList<ArrayList>(); 是什么原因? 编辑 我理解如果我将第二个ArrayList更改为List,它不会给我错误。 我想知道错误的原因。 谢谢

如何调整包含svg图像的按钮

我想在按钮内放置一个svg图像,然后我希望能够将按钮的大小调整为任意大小。 首先,这是我在按钮内加载和放置svg图像的方法: SVGPath svg = new SVGPath(); svg.setContent(“M87.5,50.002C87.5,29.293,70.712,12.5,50,12.5c-20.712,0-37.5,16.793-37.5,37.502C12.5,70.712,29.288,87.5,50,87.5 c6.668,0,12.918-1.756,18.342-4.809c0.61-0.22,1.049-0.799,1.049-1.486c0-0.622-0.361-1.153-0.882-1.413l0.003-0.004l-6.529-4.002 L61.98,75.79c-0.274-0.227-0.621-0.369-1.005-0.369c-0.238,0-0.461,0.056-0.663,0.149l-0.014-0.012 C57.115,76.847,53.64,77.561,50,77.561c-15.199,0-27.56-12.362-27.56-27.559c0-15.195,12.362-27.562,27.56-27.562 c14.322,0,26.121,10.984,27.434,24.967C77.428,57.419,73.059,63,69.631,63c-1.847,0-3.254-1.23-3.254-3.957 c0-0.527,0.176-1.672,0.264-2.111l4.163-19.918l-0.018,0c0.012-0.071,0.042-0.136,0.042-0.21c0-0.734-0.596-1.33-1.33-1.33h-7.23 c-0.657,0-1.178,0.485-1.286,1.112l-0.025-0.001l-0.737,3.549c-1.847-3.342-5.629-5.893-10.994-5.893 c-10.202,0-19.877,9.764-19.877,21.549c0,8.531,5.101,14.775,13.632,14.775c4.75,0,9.587-2.727,12.665-7.035l0.088,0.527 c0.615,3.342,9.843,7.576,15.121,7.576c7.651,0,16.617-5.156,16.617-19.932l-0.022-0.009C87.477,51.13,87.5,50.569,87.5,50.002z M56.615,56.844c-1.935,2.727-5.101,5.805-9.763,5.805c-4.486,0-7.212-3.166-7.212-7.738c0-6.422,5.013-12.754,12.049-12.754 c3.958,0,6.245,2.551,7.124,4.486L56.615,56.844z”); Button button = new Button(); button.setGraphic(svg); 我已经尝试将SVGPath放在Group对象中,然后我缩放了Group,就像这样: Group graphics = new Group(); graphics.getChildren().add(svg); graphics.getTransforms().add(new Scale(0.2, 0.2, 0 , 10)); Button button = new Button(); button.setGraphic(graphics); 这确实改变了svg图像的大小。 问题是按钮的大小不会相应改变。 它的大小与图像从未重新缩放的大小相同。 如果我设置按钮的最大尺寸并不重要。 我只能让按钮更大,但不能更小。 关于在JavaFx中使用SVG图像的文档似乎非常有限,所以如果有人能帮助我,那将非常感激。 更新: @ItachiUchiha指出我可以使用setScaleX(..) and setScaleY(..)重新调整按钮,内部的svg图像将重新调整。 但是,这样做似乎并没有改变按钮的size属性。 这意味着包含按钮的窗格仍将占用相同的空间,就像按钮未重新缩放一样。 […]

在ListView中将多个不同的字体设置为TextView

我有一个ListView,显示TextViews列表。 我希望每个TextView以适当的字体显示。 作为字体String []数组的一部分出现在ListView中的字体名称拼写与创建字体时的字体相同。 ListView fontsListView = (ListView) this.view.findViewById(R.id.MenuLayout); final String[] fonts = new String[] { “Aclonica”, “Amino-Regular”, }; ArrayList fontsList = new ArrayList(); fontsList.addAll( Arrays.asList(fonts) ); ArrayAdapter listAdapter = new ArrayAdapter(getActivity(), R.layout.fonts_simple_row, fontsList); final TextView[] textViewArray = new TextView[0]; for( int i = 0; i <= fonts.length – 1; i++) { textViewArray[i].setTypeface(Typeface.createFromAsset(getActivity().getAssets(), "fonts/" + […]

使用Spring AOP记录好主意吗?

我现在正在阅读Spring,其中一个用于使用AOP的示例是记录方法调用的开始和结束。 我还读到使用AOP会影响性能。 对于这种类型的日志记录,使用Spring AOP是个好主意吗? 我的理解是Spring使用Dynamic AOP会更好地将静态AOP(如AspectJ)用于这种类型的AOP。 当然,我工作的公司的编码策略需要大量的日志记录,我希望减少我必须编写的日志代码的数量,并提高代码的可读性。 我吠叫错了树吗?

如何通过PendingIntent将自定义Serializable对象传递给BroadcastReceiver

我试图使用PendingIntent将自定义的Serialized对象从我的IntentService传递给BroadcastReceiver。 这是我的自定义对象: Row.java public class Row implements Serializable { private String name; private String address; public Row(BluetoothDevice device) { this.name = device.getName(); this.address = device.getAddress(); } } 这是我的IntentService MyIntentService.java public class MyIntentService extends IntentService { public MyIntentService() { super(“MyIntentService”); } @Override public void onCreate() { super.onCreate(); } @Override protected void onHandleIntent(Intent workIntent) { AlarmManager alarmMgr; […]

给出错误日期的Java Date()

我有一个简单的方法,应该获取当前日期,将其放入某种格式,然后将其作为String返回。 到目前为止一切都很好(最后一次尝试在1月31日左右),但出于某种原因,当我今天尝试它时它返回字符串“2013-02-43”。 现在显然2月份还没有43天,我不知道它为什么要回归这个。 我已经到处寻找解决方案,但它们似乎都不符合我所遇到的具体问题。 这是代码: public String getDate(){ DateFormat dateFormat = new SimpleDateFormat(“YYYY-MM-DD”); Date date = new Date(); return dateFormat.format(date); } 只是为了记录我尝试使用Calendar.getInstance()等具有相同的结果。 有趣的是,当我尝试 get(Calendar.DAY_OF_MONTH) 它回来了12,所以某些地方的数字是正确的,但两者之间出现了问题。 谢谢