我正在尝试创建一个名为“compNumbers”的函数,该函数需要2个双精度数。如果两个数字相等,它们应该返回0,如果第一个参数大于第二个,它应该返回1,如果第二个参数大于第一个,它应该返回-1
这是我对这个问题的尝试:
static double compNumbers(double x, double y)
{
if (x == y)
{
return 0;
}
else if (x > y)
{
return 1;
}
else if (y > x)
{
return -1;
}
}
static void Main(string[] args)
{
double a = 0, b = 0;
compNumbers(a,b);
Console.ReadKey();
}
我遇到的错误是:
描述说“Program.compNumbers(double,double):并非所有代码路径都返回一个值”。
另外,由于我是编程新手,我会在哪里放置'输入,处理,输出'代码?我对从哪里开始感到困惑......
感谢您的帮助!
答案 0 :(得分:2)
例如,如果x
或y
的值为double.NaN
,则您的所有条件都将返回false
,因此您将到达函数的末尾并需要返回somethig:
static double compNumbers(double x, double y)
{
if (x == y)
{
return 0;
}
else if (x > y)
{
return 1;
}
else if (y > x)
{
return -1;
}
return double.NaN
}
有关double.NaN
值的更多信息:https://msdn.microsoft.com/en-us/library/system.double.nan(v=vs.110).aspx
要比较双值,请使用特殊方法CompareTo
:
x.CompareTo(y);
答案 1 :(得分:2)
static double compNumbers(double x, double y)
{
return x.CompareTo(y);
}
答案 2 :(得分:2)
您遇到的问题是,如果其他所有内容都为假,则无法返回。
由于“x不等于y”且“x不大于y”的唯一其他选项是“y必须大于x”,我将删除最后的其他如果并保存几行代码只返回-1。
static double compNumbers(double x, double y)
{
if (x == y)
{
return 0;
}
else if (x > y)
{
return 1;
}
return -1;
}
答案 3 :(得分:0)
首先,在这种情况下,您不必将方法声明为import React, { Component } from "react";
import ReactDOM from "react-dom";
import Pagination from "react-js-pagination";
require("bootstrap/less/bootstrap.less");
class App extends Component {
constructor(props) {
super(props);
this.state = {
activePage: 1,
itemPerPage: 3,
productList: [],
duplicateProductList: []
};
}
componentDidMount() {
let d = '';
$.get("YOUR API", function (data) {
d = data;
this.setState({
projectList: d,
duplicateProductList: d
});
}.bind(this));
}
handlePageChange(pageNumber) {
this.setState({ activePage: pageNumber });
}
render() {
const { projectList, activePage, itemPerPage } = this.state;
const indexOfLastTodo = activePage * itemPerPage;
const indexOfFirstTodo = indexOfLastTodo - itemPerPage;
const renderedProjects = projectList.slice(indexOfFirstTodo, indexOfLastTodo);
return (
<div>
<div>
YOUR LIST
</div>
<Pagination
activePage={this.state.activePage}
itemsCountPerPage={this.state.itemPerPage}
totalItemsCount={this.state.duplicateProductList.length}
pageRangeDisplayed={5}
onChange={this.handlePageChange.bind(this)}
/>
</div>
);
}
}
ReactDOM.render(<App />, document.getElementById("root"));
,因为您
只想要一个double
作为回报!!!
其次,当所有条件都是假的时候你必须返回一些东西!!
int
这可能会有所帮助!!