【发布时间】:2019-12-08 20:01:49
【问题描述】:
请帮忙, 我制作了一个关于鸟类疾病的诊断应用程序。在这个应用程序中,任何 29 个问题,只是是/否响应。这种反应将找到鸟类疾病的答案。在这种情况下,我创建了 8 种鸟类疾病。
每个“是”响应的值都等于“1”。
每个“否”响应的值都等于“0”。
我想从是/否响应中计算鸟类疾病的百分比,但我失败了并且感到困惑。 示例:
鸟类疾病 (1) 100%
鸟类疾病 (2) 45%
鸟类疾病 (3) 50%
鸟类疾病 (4) 0%
等
Image Gif my app diagnosis.java
这是我的代码 Diagnosis.java
public class Diagnosa extends Fragment implements OnClickListener {
int nomor, jumlah_jawaban = 0;
ArrayList<String> gejala, bobot, penyakit;
ArrayList<String> jawaban;
ArrayList<Double> persentase;
String debug;
View rootView;
TextView txtGejala, txtDebug, txt1;
Button btn1, btn2, btn3, btn4, btn5, btn6;
public static Diagnosa newInstance()
{
return new Diagnosa();
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
rootView = inflater.inflate(R.layout.fragment_diagnosa, container, false);
nomor = 0;
jawaban = new ArrayList<String>();
persentase = new ArrayList<>();
gejala = application.getGejala();
bobot = application.getBobot();
penyakit = application.getPenyakit();
txt1 = (TextView) rootView.findViewById(R.id.txt1);
txtDebug = (TextView) rootView.findViewById(R.id.txtdebug);
txtGejala = (TextView) rootView.findViewById(R.id.txtHasil);
txtGejala.setText(gejala.get(nomor).toString());
btn1 = (Button) rootView.findViewById(R.id.btn1);
btn2 = (Button) rootView.findViewById(R.id.btn2);
btn1.setOnClickListener(this);
btn2.setOnClickListener(this);
txt1.setText("Silakan jawab pilihan gejala" + "\r\n" + "No. 1");
return rootView;
}
public void onClick(View v)
{
int id = v.getId();
if (id == R.id.btn1)
{
jawaban.add("1");
jumlah_jawaban++;
}
else if (id == R.id.btn2)
{
jawaban.add("0");
}
nomor++;
if (nomor < gejala.size())
{
txtGejala.setText(gejala.get(nomor).toString());
txt1.setText("Silakan jawab pilihan gejala" + "\r\n" + "No. "+ String.valueOf(nomor+1));
}
else
{
try {
hitungHasil();
} catch (Exception ex)
{
Toast.makeText(rootView.getContext(), ex.getMessage(), Toast.LENGTH_SHORT).show();
}
Fragment fragment = Hasil.newInstance();
FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
fragmentManager.beginTransaction().replace(R.id.flContent, fragment).commit();
}
}
private void hitungHasil()
{
debug = "";
int nourut_jawaban = 0;
int hasil = 100;
try {
if (
jawaban.get(0).equals("1")
&& jawaban.get(1).equals("1")
&& jawaban.get(2).equals("1")
&& jawaban.get(3).equals("1")
&& jawaban.get(4).equals("1")
&& jawaban.get(5).equals("1")
&& jawaban.get(6).equals("1")
&& jawaban.get(7).equals("1")
&& jawaban.get(8).equals("0")
&& jawaban.get(9).equals("0")
&& jawaban.get(10).equals("0")
&& jawaban.get(11).equals("0")
&& jawaban.get(12).equals("0")
&& jawaban.get(13).equals("0")
&& jawaban.get(14).equals("0")
&& jawaban.get(15).equals("0")
&& jawaban.get(16).equals("0")
&& jawaban.get(17).equals("0")
&& jawaban.get(18).equals("0")
&& jawaban.get(19).equals("0")
&& jawaban.get(20).equals("0")
&& jawaban.get(21).equals("0")
&& jawaban.get(22).equals("0")
&& jawaban.get(23).equals("0")
&& jawaban.get(24).equals("0")
&& jawaban.get(25).equals("0")
&& jawaban.get(26).equals("0")
&& jawaban.get(27).equals("0")
&& jawaban.get(28).equals("0")
)
{
hasil = 1;
}
else
if (
jawaban.get(0).equals("0")
&& jawaban.get(1).equals("0")
&& jawaban.get(2).equals("0")
&& jawaban.get(3).equals("0")
&& jawaban.get(4).equals("0")
&& jawaban.get(5).equals("1")
&& jawaban.get(6).equals("1")
&& jawaban.get(7).equals("1")
&& jawaban.get(8).equals("1")
&& jawaban.get(9).equals("1")
&& jawaban.get(10).equals("1")
&& jawaban.get(11).equals("1")
&& jawaban.get(12).equals("0")
&& jawaban.get(13).equals("0")
&& jawaban.get(14).equals("0")
&& jawaban.get(15).equals("0")
&& jawaban.get(16).equals("0")
&& jawaban.get(17).equals("0")
&& jawaban.get(18).equals("0")
&& jawaban.get(19).equals("0")
&& jawaban.get(20).equals("0")
&& jawaban.get(21).equals("0")
&& jawaban.get(22).equals("0")
&& jawaban.get(23).equals("0")
&& jawaban.get(24).equals("0")
&& jawaban.get(25).equals("0")
&& jawaban.get(26).equals("0")
&& jawaban.get(27).equals("0")
&& jawaban.get(28).equals("0")
)
{
hasil = 2;
}
else
if (
jawaban.get(0).equals("0")
&& jawaban.get(1).equals("0")
&& jawaban.get(2).equals("0")
&& jawaban.get(3).equals("0")
&& jawaban.get(4).equals("0")
&& jawaban.get(5).equals("0")
&& jawaban.get(6).equals("0")
&& jawaban.get(7).equals("0")
&& jawaban.get(8).equals("0")
&& jawaban.get(9).equals("0")
&& jawaban.get(10).equals("0")
&& jawaban.get(11).equals("1")
&& jawaban.get(12).equals("1")
&& jawaban.get(13).equals("1")
&& jawaban.get(14).equals("1")
&& jawaban.get(15).equals("1")
&& jawaban.get(16).equals("0")
&& jawaban.get(17).equals("0")
&& jawaban.get(18).equals("0")
&& jawaban.get(19).equals("0")
&& jawaban.get(20).equals("0")
&& jawaban.get(21).equals("0")
&& jawaban.get(22).equals("0")
&& jawaban.get(23).equals("0")
&& jawaban.get(24).equals("0")
&& jawaban.get(25).equals("0")
&& jawaban.get(26).equals("0")
&& jawaban.get(27).equals("0")
&& jawaban.get(28).equals("0")
)
{
hasil = 3;
}
else
if (
jawaban.get(0).equals("0")
&& jawaban.get(1).equals("0")
&& jawaban.get(2).equals("0")
&& jawaban.get(3).equals("0")
&& jawaban.get(4).equals("0")
&& jawaban.get(5).equals("0")
&& jawaban.get(6).equals("0")
&& jawaban.get(7).equals("0")
&& jawaban.get(8).equals("0")
&& jawaban.get(9).equals("0")
&& jawaban.get(10).equals("0")
&& jawaban.get(11).equals("0")
&& jawaban.get(12).equals("0")
&& jawaban.get(13).equals("0")
&& jawaban.get(14).equals("0")
&& jawaban.get(15).equals("0")
&& jawaban.get(16).equals("1")
&& jawaban.get(17).equals("1")
&& jawaban.get(18).equals("1")
&& jawaban.get(19).equals("1")
&& jawaban.get(20).equals("1")
&& jawaban.get(21).equals("0")
&& jawaban.get(22).equals("0")
&& jawaban.get(23).equals("0")
&& jawaban.get(24).equals("0")
&& jawaban.get(25).equals("0")
&& jawaban.get(26).equals("0")
&& jawaban.get(27).equals("0")
&& jawaban.get(28).equals("0")
)
{
hasil = 4;
}
else
if (
jawaban.get(0).equals("0")
&& jawaban.get(1).equals("0")
&& jawaban.get(2).equals("0")
&& jawaban.get(3).equals("0")
&& jawaban.get(4).equals("0")
&& jawaban.get(5).equals("1")
&& jawaban.get(6).equals("1")
&& jawaban.get(7).equals("1")
&& jawaban.get(8).equals("0")
&& jawaban.get(9).equals("0")
&& jawaban.get(10).equals("0")
&& jawaban.get(11).equals("0")
&& jawaban.get(12).equals("0")
&& jawaban.get(13).equals("1")
&& jawaban.get(14).equals("0")
&& jawaban.get(15).equals("0")
&& jawaban.get(16).equals("0")
&& jawaban.get(17).equals("0")
&& jawaban.get(18).equals("0")
&& jawaban.get(19).equals("0")
&& jawaban.get(20).equals("0")
&& jawaban.get(21).equals("1")
&& jawaban.get(22).equals("1")
&& jawaban.get(23).equals("0")
&& jawaban.get(24).equals("0")
&& jawaban.get(25).equals("0")
&& jawaban.get(26).equals("0")
&& jawaban.get(27).equals("0")
&& jawaban.get(28).equals("0")
)
{
hasil = 5;
}
else
if (
jawaban.get(0).equals("0")
&& jawaban.get(1).equals("0")
&& jawaban.get(2).equals("0")
&& jawaban.get(3).equals("0")
&& jawaban.get(4).equals("0")
&& jawaban.get(5).equals("0")
&& jawaban.get(6).equals("0")
&& jawaban.get(7).equals("0")
&& jawaban.get(8).equals("0")
&& jawaban.get(9).equals("0")
&& jawaban.get(10).equals("0")
&& jawaban.get(11).equals("0")
&& jawaban.get(12).equals("0")
&& jawaban.get(13).equals("0")
&& jawaban.get(14).equals("0")
&& jawaban.get(15).equals("0")
&& jawaban.get(16).equals("0")
&& jawaban.get(17).equals("0")
&& jawaban.get(18).equals("0")
&& jawaban.get(19).equals("0")
&& jawaban.get(20).equals("0")
&& jawaban.get(21).equals("0")
&& jawaban.get(22).equals("0")
&& jawaban.get(23).equals("1")
&& jawaban.get(24).equals("1")
&& jawaban.get(25).equals("1")
&& jawaban.get(26).equals("0")
&& jawaban.get(27).equals("0")
&& jawaban.get(28).equals("0")
)
{
hasil = 6;
}
else
if (
jawaban.get(0).equals("0")
&& jawaban.get(1).equals("1")
&& jawaban.get(2).equals("0")
&& jawaban.get(3).equals("1")
&& jawaban.get(4).equals("1")
&& jawaban.get(5).equals("1")
&& jawaban.get(6).equals("1")
&& jawaban.get(7).equals("1")
&& jawaban.get(8).equals("0")
&& jawaban.get(9).equals("0")
&& jawaban.get(10).equals("0")
&& jawaban.get(11).equals("0")
&& jawaban.get(12).equals("0")
&& jawaban.get(13).equals("0")
&& jawaban.get(14).equals("0")
&& jawaban.get(15).equals("0")
&& jawaban.get(16).equals("0")
&& jawaban.get(17).equals("0")
&& jawaban.get(18).equals("0")
&& jawaban.get(19).equals("0")
&& jawaban.get(20).equals("0")
&& jawaban.get(21).equals("0")
&& jawaban.get(22).equals("0")
&& jawaban.get(23).equals("0")
&& jawaban.get(24).equals("0")
&& jawaban.get(25).equals("0")
&& jawaban.get(26).equals("1")
&& jawaban.get(27).equals("0")
&& jawaban.get(28).equals("0")
)
{
hasil = 7;
}
else
if (
jawaban.get(0).equals("0")
&& jawaban.get(1).equals("0")
&& jawaban.get(2).equals("0")
&& jawaban.get(3).equals("0")
&& jawaban.get(4).equals("0")
&& jawaban.get(5).equals("0")
&& jawaban.get(6).equals("0")
&& jawaban.get(7).equals("0")
&& jawaban.get(8).equals("0")
&& jawaban.get(9).equals("0")
&& jawaban.get(10).equals("0")
&& jawaban.get(11).equals("1")
&& jawaban.get(12).equals("0")
&& jawaban.get(13).equals("0")
&& jawaban.get(14).equals("0")
&& jawaban.get(15).equals("1")
&& jawaban.get(16).equals("0")
&& jawaban.get(17).equals("0")
&& jawaban.get(18).equals("1")
&& jawaban.get(19).equals("0")
&& jawaban.get(20).equals("0")
&& jawaban.get(21).equals("0")
&& jawaban.get(22).equals("0")
&& jawaban.get(23).equals("0")
&& jawaban.get(24).equals("0")
&& jawaban.get(25).equals("0")
&& jawaban.get(26).equals("0")
&& jawaban.get(27).equals("1")
&& jawaban.get(28).equals("1")
)
{
hasil = 8;
}
if (hasil > 0) {
}
else
{
hasil = 100;
}
application.setId(jumlah_jawaban);
application.setStatus(String.valueOf(hasil - 1));
Toast.makeText(getActivity(), "Diagnosa Selesai", Toast.LENGTH_SHORT).show();
} catch (Exception ex)
{
Toast.makeText(rootView.getContext(), ex.getMessage(), Toast.LENGTH_SHORT).show();
}
}
}
【问题讨论】:
标签: java android percentage