通常,当我只对参数化对象进行排序时,它会完美地预成型,但是当我添加没有数据的对象时,它就会发疯。帮助。
顺便说一句,我想要按降序排序的数据,由“Stanje na racunu”排序,或者用英语“你的账户余额”排序,它接受对象类中的“stanje”变量并对其进行比较。我将再次重复。当tr1、tr2和tr3不包括在内时,这是完美的。帮助
public class Glavna {
public static void sort(TekuciRacun[] racuni) {
TekuciRacun heljp = new TekuciRacun();
for ( int i = 0; i < racuni.length - 1; i++)
for ( int j = 1; j < racuni.length; j++)
if ( racuni[i].getStanje() > racuni[j].getStanje() ) {
heljp = racuni[i];
racuni[i] = racuni[j];
racuni[j] = heljp;
}
for ( int i = 0; i < racuni.length; i++)
System.out.println("\n" + racuni[i].toString());
}
public static void main(String[] args) {
TekuciRacun ptr1 = new TekuciRacun("Marko Sisovic", 29381024, 20000, 15000, 0, -10000);
TekuciRacun ptr2 = new TekuciRacun("Petar Gojkovic", 12341234, 25000, 10000, 5000, -15000);
TekuciRacun ptr3 = new TekuciRacun("Milojko Marivic", 23455423, 30000, 20000, 15000, -30000);
TekuciRacun tr1 = new TekuciRacun();
TekuciRacun tr2 = new TekuciRacun();
TekuciRacun tr3 = new TekuciRacun();
TekuciRacun[] racuni = { ptr1, ptr2, ptr3, tr1, tr2, tr3};
sort(racuni);
}
}
结果如下。
Ime i prezime vlasnika: Milojko Marivic
Broj racuna: 23455423
Stanje na racunu: -5000 dinara <====this is the data that's used for sorting
Dozvoljen minus: -30000 dinara
Ime i prezime vlasnika: Petar Gojkovic
Broj racuna: 12341234
Stanje na racunu: 10000 dinara <====
Dozvoljen minus: -15000 dinara
Ime i prezime vlasnika: Marko Sisovic
Broj racuna: 29381024
Stanje na racunu: 5000 dinara <====
Dozvoljen minus: -10000 dinara
Ime i prezime vlasnika: null
Broj racuna: 0
Stanje na racunu: 0 dinara
Dozvoljen minus: 0 dinara
Ime i prezime vlasnika: null
Broj racuna: 0
Stanje na racunu: 0 dinara
Dozvoljen minus: 0 dinara
Ime i prezime vlasnika: null
Broj racuna: 0
Stanje na racunu: 0 dinara
Dozvoljen minus: 0 dinara
public class TekuciRacun implements IRacun{
private String vlasnik;
private int brojRacuna;
private int uplate;
private int isplate;
private int kredit;
private int dozvoljenMinus;
private int stanje = 0;
TekuciRacun(){
}
TekuciRacun (String vlasnik, int brojRacuna, int uplate, int isplate, int kredit, int dozvoljenMinus){
super();
this.vlasnik = vlasnik;
this.brojRacuna = brojRacuna;
this.uplate = uplate;
this.isplate = isplate;
this.kredit = kredit;
this.dozvoljenMinus = dozvoljenMinus;
this.stanje = stanje(uplate, isplate, kredit);
}
@Override
public int stanje(int uplate, int isplate, int kredit) {
return stanje = uplate - isplate - kredit;
}
@Override
public String toString() {
return "Ime i prezime vlasnika: " + vlasnik
+ "\nBroj racuna: " + brojRacuna
+ "\nStanje na racunu: " + stanje(uplate, isplate, kredit)
+ " dinara \nDozvoljen minus: " + dozvoljenMinus
+ " dinara\nKredit: " + kredit;
}
public String getVlasnik() {
return vlasnik;
}
public int getBrojRacuna() {
return brojRacuna;
}
public int getUplate() {
return uplate;
}
public int getIsplate() {
return isplate;
}
public int getKredit() {
return kredit;
}
public int getDozvoljenMinus() {
return dozvoljenMinus;
}
public int getStanje() {
return stanje;
}
public void setVlasnik(String vlasnik) {
this.vlasnik = vlasnik;
}
public void setBrojRacuna(int brojRacuna) {
this.brojRacuna = brojRacuna;
}
public void setUplate(int uplate) {
this.uplate = uplate;
}
public void setIsplate(int isplate) {
this.isplate = isplate;
}
public void setKredit(int kredit) {
this.kredit = kredit;
}
public void setDozvoljenMinus(int dozvoljenMinus) {
this.dozvoljenMinus = dozvoljenMinus;
}
public void setStanje(int stanje) {
this.stanje = stanje;
}
}
所需的输出是(不是完整的,只有名称(vlasnik))
编辑在调试之后(在两个for循环之间添加println),我可以看到在第一次“i”迭代之后,结果是完美的,但是,循环继续进行,就像它应该做的那样,但是开始做它不应该做的事情。我猜这超出了我的知识范围,因为我猜这是某个编译器的“问题”。
你的循环逻辑不正确。为了进行适当的排序,内部循环(j
)必须从当前的i1
开始。相反,每次从1开始。当你只有3个元素时,你可能看不到问题所在。
基本上,它将已排序区域中的元素与未排序区域中的元素进行比较。
我从课本上抄了一个例子,但它拒绝编译。我是不是在什么地方打错了?出于某种原因,在客户端代码中,collections.sort(words)不允许程序编译。任何帮助都很感激。代码复制自Stuart Reges和Marty Stepp的“构建Java程序”第二版。我正试图通过复制来理解它。 该程序应该将一个CalendarDate对象装入一个ArrayList中。通过实现CalendarDate的可
问题内容: 如果html文件是本地文件(在我的C驱动器上),则可以使用,但是如果html文件在服务器上并且图像文件是本地文件,则无法使用。这是为什么? 任何可能的解决方法? 问题答案: 如果客户端可以请求本地文件系统文件,然后使用JavaScript找出其中的内容,则将是一个安全漏洞。 解决此问题的唯一方法是在浏览器中构建扩展。Firefox扩展和IE扩展可以访问本地资源。Chrome的限制更为严
问题内容: 这段代码仅显示折叠的框架。我希望pack(); 方法调用会确定我的.jpg图片周围的框架大小,对吗? 我已经可以听到第一个问题,是的,该图像与我的项目包文件夹位于同一文件夹中。 我正在使用Eclipse IDE。 我还添加了println(); 语句以查看Image引用返回的内容,并返回“ TestImage.jpg”。我以为它会返回内存中图像的地址。 我整个上午都在阅读该论坛,如果没
问题内容: 我知道React教程和文档毫无疑问地警告说,状态不应该直接变异,所有事情都应该通过。 我想了解一下,为什么我不能直接更改状态,然后(在同一函数中)仅调用来触发它。 例如:下面的代码似乎正常工作: 我全都遵循以下约定,但我想进一步加深对ReactJS实际工作方式的理解,以及可能出现问题的地方或上述代码的优缺点。 文档下的注释基本上标识了两个陷阱: 如果您直接更改状态,然后再调用它,则可能
我有这个项目。然后我做以下步骤: 转到 预期结果:错误消息(在浏览器中呈现) 白标签错误页 此应用程序没有 /error的显式映射,因此您将此视为一种退回。星期二八月27 16:59:23CEST 2019有一个意外的错误(类型=未找到,状态=404)。没有可用的消息 如何更改附加的代码,使文件索引代替此错误。是否呈现xhtml? 更新1:如果我去,我得到这个错误: 白标签错误页此应用程序没有/E
在我的项目中,电影和演员、电影和类别之间有着多对多的关系。当我尝试创建一部电影,然后尝试使用Select2添加演员和类别时,它不会列出可用的选项(输入字段看起来是灰色的,好像它们被锁定了)。我查看脚本是否正在加载,它们是否正在加载。这是我的密码。