我创建了一个类,该类旨在获取2个分数,每个分数都有一个分子和分母,然后将它们相加,输出另一个分数。
当我编译程序时,我遇到了一个问题,涉及:
分数F3=新分数。添加(F1、F2);在主要方法中
错误:找不到类型分数$add
如果我将所有内容都设置为一个类,那么程序将运行,但我希望所有方法都严格位于Fraction类中,并在UseFraction类中调用Fraction。
import java.io.*;
import java.util.*;
import java.text.*;
public final class Fraction
{
private int numerator, denominator;
public Fraction (int numerator, int denominator) throws IllegalArgumentException
{
this.numerator = numerator;
if (denominator == 0)
{
throw new IllegalArgumentException ();
}
this.denominator = denominator;
}
//As an instance method
public void add (Fraction F)
{
this.numerator = this.numerator * F.denominator + this.denominator * F.numerator;
this.denominator = this.numerator * this.denominator;
}
//As a static method
public static Fraction add (Fraction F1, Fraction F2)
{
return new Fraction (F1.numerator * F2.denominator + F1.denominator * F2.numerator, F1.numerator);
}
//@ Override
public String toString ()
{
return (this.numerator + "/" + this.denominator);
}
}
public class UseFraction
{
public static void main (String str[]) throws IOException
{
BufferedReader stdin = new BufferedReader (new InputStreamReader (System.in));
Fraction F1 = new Fraction (5, 7); // first fraction constructor
Fraction F2 = new Fraction (3, 8); // second fraction constructor
Fraction F3 = new Fraction.add (F1, F2); // addition
System.out.println ("The sum is " + F3);
}
}
Fraction F3 = new Fraction.add (F1, F2);
将其更改为:
Fraction F3 = Fraction.add (F1, F2);
Fraction F3 = new Fraction.add (F1, F2); // addition
这应该只是:
Fraction F3 = Fraction.add (F1, F2); // addition
?
使用分数。添加(F1,F2),而不是添加新分数。添加。
本文向大家介绍Java实现TopK问题的方法,包括了Java实现TopK问题的方法的使用技巧和注意事项,需要的朋友参考一下 面试中会经常遇到手撕代码的情况,而求TopK的是经常遇到的题目。下面我就用Java来实现。主要通过两种方法实现,快排思想以及堆排序的思想,两者的复杂度为O(NlogK)。 基于快排的TopK实现: 其实整个代码和快排一样,就是多了一个下标位置的判断,if (K - 1 ==
问题内容: 最近有一次采访中我问了一个问题。 问题 :有一个用于描述代码执行时间的类。该类就像: 期望客户端创建StopWatch的实例并相应地调用方法。用户代码可能会使方法的使用混乱,从而导致意外结果。Ex,start(),stop()和getTime()调用应该有序。 此类必须“重新配置”,以便可以防止用户弄乱序列。 我建议如果在start()之前调用stop()或进行一些if / else检
问题内容: 我尝试在Android NDK上工作,我的第一个测试不是很确定,我需要帮助,因为我看不到错误在哪里。 以下代码可以毫无问题地进行编译,但是当在模拟器上运行时,该程序将返回SIGSEGV信号,并且在logcat中不会显式写入任何错误。但是,将显示一条警告,指出未找到Java类。经过一天的研究,这个问题看起来一切正确。 这是我的Java代码:JNITestActivity.java 这是我
为什么下面的代码不能保证多个线程之间total_home数字的唯一性,即使逻辑处于同步块中。 } } } 这是一个程序示例。试着运行5-10次,你会发现total_home的值并不是每次都是唯一的。
我正在使用Saxon(如果需要,我可以使用Xalan)XSLT处理器进行一些转换。我想将下面对象的实例作为参数传递给XSLT模板。 所以我创建了这个对象。 在XSLT文件中,我将参数声明为: 现在我的问题是如何在XSLT内调用该对象的任何实例方法(即.getValue())?有可能吗?我知道我可以调用不同Java类的静态方法,但这并不完全是我想要的。 此外,是否可以在XSLT中填充Java对象,即
我在我的程序中使用了实现继承,我的子类中的方法没有在主方法中被调用。它显示了错误“方法getArea()不在第二类型中定义”。getPerimeter()方法也有同样的问题。 我试过设置值和改变参数。 三角形。有关计算三角形面积的公式,请参见编程练习2.15。toString()方法的实现如下:return“Triangle:side1=“side1”side2=“side2”side3=“sid