我一直在研究这个程序,目前我被困住了。硬件提示是提示用户输入数字,将其保存为数组,找到奇数和数字。百分比然后将这些值显示给用户。
目前我正在尝试写入部分代码,找到数组中奇数的百分比,但返回没有显示,我只是想不通。有任何想法吗?谢谢!
import java.util.*; // import java course for Scanner class
public class Integers {
public static void main(String[] args) {
Scanner console = new Scanner(System.in);
System.out.println("Please input a series of numbers");
int inputs = Integer.parseInt(console.next());
int[] arraysize = new int[inputs];
Oddvalues(arraysize);
}
public static int Oddvalues (int[] size) {
int countOdd = 0;
for (int i = 1; i < size.length; i++) {
if(size[i] % 2 != 0) {
i++;
}
}
return countOdd;
}
}
答案 0 :(得分:1)
考虑以下代码,它似乎在本地IntelliJ中工作。我的方法是从扫描程序中读取一行作为字符串,然后将该输入按空格分成组件编号。这避免了您尝试从控制台直接创建整数数组时遇到的问题。
然后,使用Integer.parseInt()
迭代每个数字字符串,检查它是否是奇数。
public static void main(String[] args) {
Scanner console = new Scanner(System.in);
System.out.println("Please input a series of numbers");
String nextLine = console.nextLine();
String[] nums = nextLine.split(" ");
int oddCount = 0;
for (String num : nums) {
if (Integer.parseInt(num) % 2 == 1) {
++oddCount;
}
}
double oddPercent = 100.0*oddCount / nums.length;
System.out.println("Total count of numbers: " + nums.length + ", percentage odd: " + oddPercent);
}
答案 1 :(得分:0)
在函数Oddvalues中,您提升i而不是提升countOdd。循环应该从0开始而不是1。
答案 2 :(得分:0)
试试这个
import java.util.*;
import java.lang.*;
import java.io.*;
public class OddVals{
public static void main(String[] args) throws java.lang.Exception {
Scanner sc = new Scanner(System.in);
int[] array = new int[sc.nextInt()]; // Get the value of each element in the array
System.out.println("Please input a series of numbers");
for(int i = 0; i < array.length; i++)
array[i] = sc.nextInt();
System.out.println("Number of Odds:" +Oddvalues(array));
printOdd(array);
}
public static int Oddvalues (int[] size) {
int countOdd = 0;
for (int i=0; i < size.length; i++){
if(size[i]%2 != 0)
++countOdd;
}
return countOdd;
}
public static void printOdd(int[] arr)
{
for(int i=0;i<arr.length;++i)
{
if(arr[i]%2==1)
System.out.print(arr[i]+" ");
}
}
答案 3 :(得分:0)
foreach (DataGridViewRow row in dataGridViewInvoice.Rows)
{
string ItemType = row.Cells["SubCategory"].Value.ToString();
if(ItemType == "Frame" && ItemType == "Lens" && ItemType == "Consultation")
{
MessageBox.Show("You can't select all items at once");
}
}
如果这有帮助